MYSQLIN与EXISTS的优化示例介绍
优化 介绍 示例 exists mysqlin
2023-06-13 09:15:40 时间
优化原则:小表驱动大表,即小的数据集驱动大的数据集。
#############原理(RBO)#####################
select*fromAwhereidin(selectidfromB) 等价于: forselectidfromB forselect*fromAwhereA.id=B.id
当B表的数据集必须小于A表的数据集时,用in优于exists。
select*fromAwhereexists(select1fromBwhereB.id=A.id) 等价于 forselect*fromA forselect*fromBwhereB.id=A.id
当A表的数据集系小于B表的数据集时,用exists优于in。
注意:A表与B表的ID字段应建立索引。
例如:
/**执行时间:0.313s**/ SELECTSQL_NO_CACHE*FROMrocky_membermWHEREEXISTS(SELECT1FROMrocky_vip_approaWHEREm.ID=a.user_idANDa.passed=1); /**执行时间:0.160s**/ SELECTSQL_NO_CACHE*FROMrocky_membermWHEREm.IDin(SELECTIDFROMrocky_vip_approWHEREpassed=1);
notin和notexists用法类似。
相关文章
- Linux内核参数使用与优化介绍
- nginx入门:功能介绍、安装、配置、优化及监控
- 【Android Gradle 插件】自定义 Gradle 插件优化图片 ② ( 压缩 png、jpg 图片 | 使用 pngcrush 压缩工具压缩 png 图片 )
- 安装CentOS7并优化调优
- MySQL优化:介绍几个简单MySQL优化方法
- 性能优化:Linux 系统内核优化的建议
- Redis教程(十四):内存优化介绍
- Oracle的RBO和CBO详细介绍和优化模式设置方法
- 优化Linux性能:介绍bcache(bcachelinux)
- Linux IO 调度与优化(linuxios)
- MySQL: 使用变量进行优化(mysqlas变量)
- Linux优化必备:性能分析工具介绍(linux性能分析工具)
- mssql服务器空间优化之预留空间(mssql预留空间)
- 优化MySQL读写速度,提升数据库性能(mysql数据库读写速度)
- mssql视图:优化数据表结构的利器(mssql 视图有什么用)
- MySQL中的sname如何优化数据库查询(mysql中sname)
- MySQL性能提升使用ci框架优化之路(ci框架 mysql性能)
- Oracle优化配置指南效率提升指南(oracle优化配置指南)
- Oracle优化器最佳的选择(oracle优化器介绍)
- based优化深入认识Oracle中的CostBased优化(oracle中的cost)