优化的实质就是在结果正确的前提下,充分利用索引,减少表扫描的I/O次数,尽量避免全表搜索的发生. 1.举个例子: select * from table1 where use_name like '%c%' 改为 select * from table1 where CHARINDEX("c",use_name)>0 2.少用*
3.尽量不要在where子句中对字段使用函数或参数表达式来计算,会导致无法使用索引进行扫描4.尽量少用NOT5.EXISTS要远比IN的效率高 NOT EXISTS要远比NOT IN的效率高 6.在海量查询时尽量少用格式转化7.IN、OR子句常会使工作表的索引失效
where 条件可以增多就尽量增多
select from where 这几个最好能灵活运用
1.举个例子:
select * from table1 where use_name like '%c%'
改为
select * from table1 where CHARINDEX("c",use_name)>0
2.少用*
3.尽量不要在where子句中对字段使用函数或参数表达式来计算,会导致无法使用索引进行扫描4.尽量少用NOT5.EXISTS要远比IN的效率高
NOT EXISTS要远比NOT IN的效率高
6.在海量查询时尽量少用格式转化7.IN、OR子句常会使工作表的索引失效