對於百萬千萬量級別的資料進行查詢,如果查詢方式不合理的話,會嚴重影響系統的執行效能及伺服器的壓力。
常見優化查詢的方案有如下:
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子句中進行函式操作。
大資料查詢優化方案
1 儲存過程 2 建索引 3 分割槽 把資料分成幾個區存放,搜尋的結果合併。做表分割槽,縮小查詢範圍 按乙個有效字段分割槽,比如按月份 4 表空間 5 我們以前大資料量的解決方案是 把資料分批查出來,一次性查出來是沒有什麼好的解決辦法。6 like 必定掃全表 7 硬體 公升級伺服器,有這麼多資料的...
大資料面試題
海量資料面試題整理 1.給定a b兩個檔案,各存放50億個url,每個url各佔64位元組,記憶體限制是4g,讓你找出a b檔案共同的url?方案1 可以估計每個檔案安的大小為50g 64 320g,遠遠大於記憶體限制的4g。所以不可能將其完全載入到記憶體中處理。考慮採取分而治之的方法。s 求每對小...
大資料面試題
1.列舉spark 比hadoop 快的原 因 以及現在存在的主要問題 2.描述下使用spark streaming 和 graphx實現實時計算的可行性,以及可能會遇到的問題 3.graphx的pregel api 只支援有向圖遍歷 如何實現無xiang 遍歷,描述思路 4.spark 通過yar...