跳到主要内容

优化技巧

  1. 多表的连接条件应该写在 where 子句中
  2. 通过子查询分页时,当页数过大时,应该使用下面的方式进行分页
-- 
select *
from table
where id > (select id from table order by id limit 1000, 1)
order by id limit 10;
  1. 多表查询时,每个字段都指明其所在的表。
  2. 超过三个表禁止 join,需要 join 的字段,数据类型保持绝对一致。
  3. 多表关联查询时,保证被关联的字段需要有索引。
  4. 在使用 not in 的时候需要注意,子查询的结果中,不允许包含 null,不然结果会有问题。
  5. 一个需求可以通过自连接和子查询两种方式实现,使用自连接的方式效率更高。