1 儲存過程
2 建索引
3 分割槽 把資料分成幾個區存放,搜尋的結果合併。做表分割槽,縮小查詢範圍(按乙個有效字段分割槽,比如按月份)
4 表空間
5 我們以前大資料量的解決方案是:把資料分批查出來,一次性查出來是沒有什麼好的解決辦法。
6 like 必定掃全表
7 硬體:公升級伺服器,有這麼多資料的應該不是小的應用,應該買個好點的伺服器。
8 用負載均衡,把乙個大表爭成幾個小表(垂直分表,把錶裡面的一些不常用的大字段資訊拿出來)
9 檢視
10 讀寫分立,做雙機,乙個讀,乙個寫
11 sql語句優化,這個注意點太多了,具體可以通過explain找出慢查詢(plsql的f5)
12 表字段盡量小,盡量迴避blob,text;varchar最好也少用
13 資料量達到海量的話,分布式集群處理了,······以下省略8000字
--查詢優化
常見優化查詢的方案有如下:
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子句中進行函式操作。
資料查詢優化
一 避免全表掃瞄 首先考慮在where及order by涉及的列上建立索引 避免在where子句中對字段進行null判斷這樣會導致全表掃瞄 二 避免出現where子句中對字段進行null值判斷 demo select id from t where num is null可以替換為select id...
面試題 大資料查詢怎麼優化?
對於百萬千萬量級別的資料進行查詢,如果查詢方式不合理的話,會嚴重影響系統的執行效能及伺服器的壓力。常見優化查詢的方案有如下 1,對查詢進行優化,應盡量避免全表掃瞄,首先應考慮在where及order by 涉及的列上建立索引。2,應盡量避免在where子句中進行null的判斷,否則將導致查詢放棄進行...
大資料查重去重方案及效能優化
最近做針對百萬級別的資料的去重工作,現抽空寫下筆記。做這個去重,是基於前同事的基礎上做改造,原來是用的simhash演算法做文字相似計算,上網查了下,simhash演算法是相對來說,在大資料領域比較受歡迎的查重演算法,話不多說,來一步步說下我的設計之路。一 先簡單介紹下simhash.傳統的hash...