SQL語句如何優化?

2021-10-10 17:44:31 字數 621 閱讀 3821

核心思想:多快好省

多:查詢的不漏是基本的正確準確需要

快:減少不必要的查詢,如全表掃瞄和空值查詢

好:不過度影響查詢效果的情況下,資料可以較好地展示收集

省:減少資源消耗

具體實現舉例

1、查詢語句中不要使用select*

2、儘量減少子查詢,使用關聯查詢(left join,right join,inner join)替代

3、減少使用in或者not in ,使用exists,not exists或者關聯查詢語句替代

4、or 的查詢盡量用 union或者union all 代替(在確認沒有重複資料或者不用剔除重複資料時,unionall會更好)

5、應盡量避免在 where 子句中使用!=或<>操作符,否則將引擎放棄使用索引而進行全表掃瞄

6、應盡量避免在 where 子句中對字段進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃瞄,如: select id from t where num is null 可以在num上設定預設值0,確保表中num列沒有null值,然後這樣查詢: select id from t where num=0

MySQL的SQL語句如何優化?

1 現場抓出慢查詢語句 show full processlist 2 配置引數 slow query log file on 慢查詢開啟開關 long query time 2 記錄大於2秒的sql語句 log queries not using indexes on 沒有使用索引的sql語句 m...

如何優化這條sql語句呢

select from declarebill where modyfytime like 2008 02 22 and enterprisetype 外商投資企業 and single audit 1 and billmode 02 or enterprisetype 中外合資企業 and mod...

SQL 語句優化 OR 語句優化案例

從上海來到溫州,看了前幾天監控的sql語句和資料變化,發現有一條語句的io次數很大,達到了150萬次io,而兩個表的資料也就不到20萬,為何有如此多的io次數,下面是執行語句 select ws.nodeid,wi.laststepid,wi.curstepid from workflowinfo ...