1、單條查詢最後新增 limit 1,停止全表掃瞄(否則,若無索引,將會查的太多)。
2、where子句中不要使用!= ,否則放棄索引全表掃瞄。
3、盡量避免 null 值判斷,否則放棄索引全表掃瞄。
優化前:select number from t1 where number is null;
優化後:select number from t1 where number=0;
# 在number列上設定預設值0,確保number列無null值
4、盡量避免 or 連線條件,否則放棄索引全表掃瞄。
優化前:select id from t1 where id=10 or id=20;
優化後: select id from t1 where id=10union allselect id from t1 where id=20;
5、模糊查詢盡量避免使用前置%,否則全表掃瞄。
select name from t1 where name like "c%";
6、盡量避免使用 in 和 not in, 否則全表掃瞄。
優化前:select id from t1 where id in(1,2,3,4);
優化後:select id from t1 where idbetween1 and 4;
7、盡量避免使用 select * ...; 用具體字段代替 *,不要返回用不到的任何字段。
Mysql 優化 調優
一 慢查詢日誌 慢查詢日誌是在整個庫上做一定的慢執行sql抓取 1 設定開啟 set global slow query log 1 預設未開啟,開啟會影響效能,mysql重啟會失效 2 檢視日誌路徑和是否開啟 show variables like slow query log 3 設定閾值 se...
mysql 調優 Mysql調優
表設計 1 禁止使用外來鍵 2 多表中的相同列,必須保證列定義一致 3 國內表預設使用innodb,表字符集預設使用gbk,國際預設使用utf8的表 4 表必須包含gmt create和gmt modified欄位,即表必須包含記錄建立時間和修改時間的字段 5 單錶一到兩年內資料量超過500w或資料...
SQL語句優化效能調優
在語句很規範的情況下,就是加索引。然後最大的收穫就是使用執行計畫 解釋計畫?explain plan windows 這個工具覺得很厲害。可以檢視索引是否使用如下圖 網上查到的sql語句優化大多數都是為了避免全表查詢,在語句不規範的情況下就算加了索引呢也會全表查詢,所以優化就是避免這種情況的發生 還...