对于百万千万量级别的数据进行查询,如果查询方式不合理的话,会严重影响系统的运行性能及服务器的压力。
常见优化查询的方案有如下:
1,对查询进行优化,应尽量避免全表扫描,首先应考虑在where及order by 涉及的列上建立索引。
2,应尽量避免在where子句中进行null的判断,否则将导致查询放弃进行索引进行全表扫描。可以在null上设默认值为0。
3,尽量避免在where子句中使用or来连接条件,否则将导致查询放弃进行索引进行全表扫描,可以考虑使用union all替换。
4,in 和not in 要慎用,否则会导致全表扫描。能用between则不用in。
5,避免使用Like 来进行模糊查询,可以考虑使用全文检索。
6,尽量避免在where子句中使用!=或<>操作符,否则会导致全表扫描。
7,使用视图加速查询。
8,能用distinct 则不用group by。
9,能用union all 则不用union。
10,避免在where子句中进行函数操作。
。。。