sql的效能優化

2021-08-19 08:49:02 字數 584 閱讀 5039

在專案後期,隨著資料量的日益增加,一些查詢介面就顯得沒那麼好用,反應速度慢!這時,得考慮對專案的sql進行針對性的優化了,今天筆者將實際專案中的經驗分享出來,希望能夠恰到好處的幫助讀者。

①最常見的就是,查詢具體字段,不要用 * 查詢;

②建索引(索引最好是那種唯一性較強的,對於狀態值只有幾種的字段就不用建索引)

③explain (sql語句)

通過分析上圖中的資料,進行建索引提高效能,盡量避免全表掃瞄,rows代表掃瞄的行數,越少效能越好;type是查詢型別,all效能最低,由於時間的關係,這個不詳細介紹

④and的前後欄位有索引的話,都需要是索引字段,否則索引會失效

⑤where後面盡量不用 >或《的比較型符號,盡量用between....and....代替

⑥盡量用exits代替in

⑦盡量不用多表聯結查詢,可以分散成簡單的sql查詢用業務邏輯進行串接

⑧where後面盡量不要用表示式計算

⑨where後面盡量不要用or來連線條件,否則會進行全表掃瞄

效能優化 SQL優化

1.列型別盡量定義成數值型別,且長度盡可能短,如主鍵和外來鍵,型別字段等等 2.建立單列索引 3.根據需要建立多列聯合索引 當單個列過濾之後還有很多資料,那麼索引的效率將會比較低,即列的區分度較低,那麼如果在多個列上建立索引,那麼多個列的區分度就大多了,將會有顯著的效率提高。4.根據業務場景建立覆蓋...

SQL效能優化

postgre資料表資料比較多的情況下,使用模糊查詢效能很差,但是使用函式反而快了,返回資料一致,有點不解 warning表2688133條資料,warning message表6954788條資料 這個sql執行老半天都沒反映,耗時169904 ms select count 1 from war...

sql效能優化

任何平台的sql開發者都有自身的困惑,似乎他們一直糾纏在do while迴圈裡,這個迴圈讓他們不斷地重複同樣的錯誤。這是因為資料庫的發展依然不夠成熟。當然,商們也在不斷進步,但是他們還是需要處理更嚴重的問題。併發性,資源管理,空間管理和速度依然制約著sql開發者對開發平台的選擇。我並不期望sql開發...