SQL效能優化

2021-07-09 08:49:32 字數 554 閱讀 6427

postgre資料表資料比較多的情況下,使用模糊查詢效能很差,但是使用函式反而快了,返回資料一致,有點不解

warning表2688133條資料,warning_message表6954788條資料

這個sql執行老半天都沒反映,耗時169904 ms

select count(1) from  warning w 

inner join warning_message wm on w.id = wm.warn_id  and wm.user_id=2

and (w.title like '%嚴查%'  or w.content like '%嚴查%' ) ;

這個sql很快資料就出來了,耗時2931 ms

select count(1) from  warning w 

inner join warning_message wm on w.id = wm.warn_id and wm.user_id=2

and ( position('嚴查' in w.title) > 0  or  position('嚴查' in w.content) > 0 );

效能優化 SQL優化

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

sql效能優化

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

Sql效能優化

操作符優化 in 操作符 用in寫出來的sql的優點是比較容易寫及清晰易懂,這比較適合現代軟體開發的風格。但是用in的sql效能總是比較低的,從oracle執行的步驟來分析用in的sql與不用in的sql有以下區別 oracle試圖將其轉換成多個表的連線,如果轉換不成功則先執行in裡面的子查詢,再查...