mysql not in如何优化

,你现在写的这个sql是查询到你描述的结果的

c表(xl_account),没看明白是么的的,先不管

a,b 两表通过id进行关联,应该是可以认为id相同则是同一(人)条记录

name不同应可以认为是做了修改,你用not in 则说明是不存在。假如,有2行记录,将名称互换,应该是两行都修改了,但是按照你现在的sql来看是应属于in的范围,not in 无法显示的,也就是查不出来。

所以,首先not in 改为 不等(!=), 才应该是你要找的数据。这样效率也是有所提高的。

若想要找到哪条记录修改,且要查询改前和改后的值,那么没有什么修改空间了,如果要查出哪条修改过,则有select * from kd_user a

where  not exists (

select 1 from lx_user b where a.id=b.id and a.name=b.name

)

sql语句求优化,听说NOT IN 语句不好求优化

可以考虑not exists或minus(except)--not exists

SELECT name FROM test1 a

WHERE NOT EXISTS (SELECT 1 FROM test2 b WHERE a.NAME=b.NAME and b.NAME<>'admin')

--minus

SELECT name FROM test1 a

minus

SELECT DISTINCT NAME FROM test2 WHERE NAME<>'admin'

效率方面,一般来not exists和minus要比not in强很多,但是具体情况具析。

可以参考:

通过一个例子,对比几种方法的效率

sql中的not in怎么优化

非到迫不得已不要用,因为not in 不走索引

相关标签推荐:

延展阅读:

mysql查询优化not in,mysql not in如何优化相关推荐

  1. MySQL查询优化之七-左Join 和右Join 优化(Left Join and Right Join Optimization)

    MySQL查询优化之七-左Join 和右Join 优化(Left Join and Right Join Optimization) 如需转载请标明出处:http://blog.csdn.net/it ...

  2. mysql查询优化之一:mysql查询优化常用方式

    一.为什么查询速度会慢? 一个查询的生命周期大致可以按照顺序来看:从客户端,到服务器,然后在服务器上进行解析,生成执行计划,执行,并返回结果给客户端.其中在"执行"阶段包含了大量为 ...

  3. MySQL查询优化系列文章

    MySQL查询优化之explain的深入解析 mysql嵌套查询和联表查询优化方法 MySQL查询优化:LIMIT 1避免全表扫描提高查询效率 Mysql使用索引实现查询优化 mysql数据库查询优化 ...

  4. mysql数据库维护_维护MySQL数据库表

    在本教程中,我们将向您介绍一些非常有用的语句,使您可以在MySQL中维护数据库表. MySQL提供了几个有用的语句,可以有效地维护数据库表. 这些语句使您能够分析,优化,检查和修复数据库表. 分析表语 ...

  5. mysql查询优化技巧

    索引优化,查询优化,查询缓存,服务器设置优化,操作系统和硬件优化,应用层面优化(web服务器,缓存)等等.这里记录的优化技巧更适合开发人员,都是从网络上搜集和整理的,主要是查询语句上的优化,其他层面上 ...

  6. MySQL高级-索引是个什么东西?explain到底怎么用-MySQL查询优化大全

    目录 一.引出问题-MySQL的查询优化: 二.性能下降的原因: 三.索引到底是什么?怎么用? 1.索引操作 查看索引: 删除索引: 创建索引: 说明: 索引命名规范: 2.索引优势: 3.索引劣势: ...

  7. MySQL查询优化-explain

    2019独角兽企业重金招聘Python工程师标准>>> 一.MySQL 查询优化器是如何工作的         MySQL 查询优化器有几个目标,但是其中最主要的目标是尽可能地使用索 ...

  8. mysql 查询优化

    阅读目录 1.简介 2.截取SQL语句 3.查询优化基本分析命令 4.查询优化几个方向 5.索引优化 5.1.索引优点: 5.2.索引缺点 5.3.索引选择 5.4.索引细究 6.子查询优化 7.等价 ...

  9. MySQL查询优化之explain的深入解析

    在分析查询性能时,考虑EXPLAIN关键字同样很管用.EXPLAIN关键字一般放在SELECT查询语句的前面,用于描述MySQL如何执行查询操作.以及MySQL成功返回结果集需要执行的行数.expla ...

最新文章

  1. 平流式隔油池计算_当隔油池整改工作遇上“露天铁板烧”
  2. 为什么以太坊能成为区块链2.0的代表之作?
  3. 一周内咸鱼疯转2.4W次,最终被所有大厂封杀!
  4. MyEclipse的Java Web项目配置环境搭建-如何安装tomact
  5. 使用关指定中断解决资源冲突问题
  6. Nginx 访问日志轮询切割
  7. LINQ :最终统治了​所有的语言!
  8. 前端学习(2219):react之jsx小案例
  9. Pensando Distributed Services Architecture [Pensando 分布式服务架构] - 翻译
  10. 信息安全工程师笔记-云计算安全需求分析与安全保护工程
  11. java stream Interface Collector<T,A,R>
  12. 话单分析账单分析行踪分析综合数据研判软件
  13. 人工智能机器学习模型构建数据集猫狗数据集(cats_and_dogs_filtered.zip)数据集百度网盘下载地址
  14. Linux PCI和PCIe总线
  15. 通过思翼SIYI MK15E回传Realsense D435i 的 RGB图像
  16. lol8月21号服务器维护,8月21日lol维护公告最新 8.21lol维护到几点
  17. CJW精选题库(from 各种OJ)
  18. 京东Java后台开发岗社招面试经验分享,4面的面经
  19. python:matplotlib基础(2)
  20. UltraEdit常用小技巧

热门文章

  1. linux 每日学一点《Linux链接文件类型》
  2. 删除顽固node_modules
  3. 微信机器人开发SDK使用教程--群发消息任务
  4. bzoj1588 营业额统计
  5. SpringBoot AOP 理解和用途
  6. 1.Getting Started
  7. Javascript分号,加还是不加?
  8. struts2+spring 项目中配置tiles的解决方案
  9. [转载]用SQL语句添加删除修改字段
  10. BGP的community属性