sql优化二

 

https://www.cnblogs.com/annsshadow/p/5037667.html

一、建索引在常用查询列、不建议在频繁修改的列

2、不要在索引列上进行(计算、函数、类型转换)等操作

3、反向查询!=和is null 不能用到索引

4、or会使索引失效,如果必须用则都建在索引上面

5、使用索引全覆盖解决like ‘%XX%’  select name from t where t like '%xx%'

6、in与exists 一般exists比in快  

in适合子查询数据小的场景

for(int i=0;i<A.length;i++) {
   for(int j=0;j<B.length;j++) {
      if(A[i].id==B[j].id) {
         resultSet.add(A[i]);

  exits 相当于对主查询进行遍历判断是否在子查询结果集中

for(int i=0;i<A.length;i++) {
   if(exists(A[i].id) {    //执行select 1 from B b where b.id=a.id是否有记录返回
       resultSet.add(A[i]);
   }
}

https://www.cnblogs.com/clarke157/p/7912871.html

7、join连接与子查询

https://www.cnblogs.com/cdf-opensource-007/p/6540521.html

sql优化二

explan模拟sql优化器执行sql语句

sql优化二

sql优化二