mysql常見的SQL優化策略

2021-10-05 07:08:33 字數 805 閱讀 1688

1、避免全表掃瞄

對查詢進行優化應該盡量避免全表掃瞄,應該考慮在where和order by會涉及的列上新增索引。

2、避免判斷null值

應該盡量避免where語句中進行null值判斷,否則會引起引擎放棄使用索引而進行全表掃瞄,例如select * from table where num is null;可以在num列上設定預設值0,以確保num列不存在null值,然後使用select * from table where num=0;

3、避免不等值判斷

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

4、避免使用or邏輯

應該盡量避免在where子句中使用or連線查詢條件,使用union all(這個效率也不是很高,但是比or效率高),否則會引起引擎放棄使用索引而進行全表掃瞄,例如select * from table where a=0 or b=1;應該使用select * from table where a=0 union all select * from table where b=1;

5、慎用in和not in

6、避免對欄位進行計算,例如select * from table where a/2=100;應該修改為select * from table a=200;

7、避免對欄位進行函式操作,根據具體情況可適當進行優化。

8、不要進行無意義的查詢,例如我們常用的:select * into table1 from table2 where 1=0;應該使用create去建立。

9、表設計盡量能使用數字型別欄位就不適用varchar。

mysql常見的優化策略

sql的優化主要是圍繞著在查詢語句的時候盡量使用索引避免全表掃瞄。使用索引 對查詢進行優化,應盡量避免全表掃瞄,首先應考慮在 where 及 order by 涉及的列上建立索引。避免判斷null值 應盡量避免在 where 子句中對字段進行 null 值判斷 is null,is not null...

mysql常見的優化策略

sql的優化主要是圍繞著在查詢語句的時候盡量使用索引避免全表掃瞄。select id from t where num is null 可以在num上設定預設值0,確保表中num列沒有null值,然後這樣查詢 select id from t where num 0 mysql只對以下操作符才使用索...

mysql常見的優化策略 Mysql常見的優化策略

資料庫設計方面優化 1 資料庫設計符合第三正規化,為了查詢方便可以有一定的資料冗餘。2 選擇資料型別優先順序 int date,time enum,char varchar blob,選擇資料型別時,可以考慮替換,如ip位址可以用ip2long 函式轉換為unsign int型來進行儲存。3 對於c...