日期:2014-05-16  浏览次数:20475 次

面试题:大数据查询怎么优化?

对于百万千万量级别的数据进行查询,如果查询方式不合理的话,会严重影响系统的运行性能及服务器的压力。

常见优化查询的方案有如下:

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子句中进行函数操作。

。。。