麵試題:大數據查詢怎麼優化? .
對於百萬千萬量級別的數據進行查詢,如果查詢方式不合理的話,會嚴重影響係統的運行性能及服務器的壓力。
常見優化查詢的方案有如下:
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