1 sql語句的優化處理
(1)不要用in 或 not in 進行處理
在oracle中,oracle會轉換多表連線的方式,也就是說如果轉換不成功,則先執行in裡面的操作,在執行外層操作;
如果轉換成功,則直接採用多個表連線查詢的方式,從這個方面就可以看出這裡至少都需要乙個轉換的過程,當然這裡值得
一提的是一般的sql都會轉換成功,而含有統計,分組的就不會轉換成功
解決方案:採用 exists 或 not exists
(2) is null 或is not null操作(判斷字段是否為空)
判斷字元是否為空是不採用索引的,因為索引不索引空值
解決方案:可以設定乙個值0,或者是其他的一些
2 資料結構的優化處理
資料庫優化方案
對查詢最有效果的優化,自然是建立索引了,id自然是自增 主鍵,這個前人已經做了 從where語句分析,時間字段作為查詢條件很多,時間是8位元組,而且不重複,設定索引比較適合。我把時間設定為索引,有一點效果,但不大,估算一下 8 4000 0000 320 000 000 位元組,4000萬記錄的表僅...
資料庫優化方案
1.sql 優化 2.索引 where 條件加索引 3.連線池 處理連線數問題,druid 4.快取 持久層快取 記憶體資料庫redis 5.分割槽 分成不同的檔案,不解決根本問題 6.儲存過程 業務 難維護 7.讀寫分離 主從複製 8.集群 與主從的區別 集群是通過負載均衡的方式,目的是容錯性和高...
資料庫優化方案
一 需要注意的點 1 對查詢進行優化,要盡量避免全表掃瞄 2 應盡量避免在 where 子句中對字段進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃瞄 3 不使用not in和 操作not in和 操作都不會使用索引將進行全表掃瞄。not in可以not exists代替,id 3則可...