- 尽量使用列名在业务密集的SQL当中尽量不采用IN操作符,用EXISTS 方案代替。
2、模糊查询like
关键词%yue%,由于yue前面用到了“%”,因此该查询必然走全表扫描,除非必要,否则不要在关键词前加%.
3 二者都能使用尽量使用where (与having比较)
where 先过滤(数据就少了)在分组 !
4.b-tree索引的建立(数字9999) 对千位查找10次,百位10次,十位10次,个位10次
5.减少全表扫描,增加分页limit
6.查询重复的数据
7.select 需要列 不要select *
8.索引的建立,尽量使用索引(但是会增加增删改的开销!)
9.如果同时插入多行,采用多个值表更好 如 inset into test values(1,2),(1,3),(2,3);
- 如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in ()