面试题:大数据查询怎么优化? .
对于百万千万量级别的数据进行查询,如果查询方式不合理的话,会严重影响系统的运行性能及服务器的压力。
常见优化查询的方案有如下:
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子句中进行函数操作。
。。。
最后更新:2017-04-03 21:30:17
上一篇:
21个免费的UI界面设计工具、资源及网站
下一篇:
J2EE中Servlet操作cookie
互联网企业安全高级指南3.13 安全建设的“马斯洛需求”层次
Android中的基本控件(上)--TextView控件
云原生(Cloud Native)- 移动App研发新范式
只需七步就能掌握Python数据准备
HDU 4593 Robot
在哪里添加Page_PreInit事件
《iOS6 application development》学习之路:No.4: 几个coding中发现的小问题
openstack 命令行管理十七 - 宿主主机管理 (备忘)
do...while(0)的妙用
Python 3 学习之路 (1)变量,用户交互,if else , while ,for