1、 mysql query optimizer
mysql自己的優化策略,若想定製,需要重寫mysql,一般不會用
2、mysql常見瓶頸
dba或者運維配置中問題
2、 explain
開發人員真正的需要分析的
六要點解析:
1、 能查詢表的讀取順序,即指id
2、 select_type
3、 possible_keys
4、 key
5、 各種巢狀,簡單查詢,子查詢等邏輯關係
6、 row
explain包含的資訊
1、 id
id 相同:
執行順序t1 >> t3 >> t2
並非書寫的from後的順序t1, t2, t3
id 不同:
id相同不同,同時存在
如圖,dericed2: 2為id表示id為2的語句執行生成的衍生表
小表驅動大表原則
3、 select_type
4、 table
顯示這一行的資料是關於哪一張表的
5、 type
八種值:
顯示查詢使用了何種型別
從最好到最差依次是:
system >> const>>eq_ref>>ref>>range>>index>>all
一般來說,得保證查詢至少達到range級別,最好能達到ref
6、 possible_keys 和 key
覆蓋索引,如下圖,所要查詢的字段恰巧和該錶所建立的索引的字段相同,包括個數順序
7、 key_len
8、 ref
9、 rows
10、 extra
可能出現的屬性,共八種,為多值
理解一:邏輯上理解
理解二:資料結構上理解
使用了where,但是執行時不成立
case
執行順序:
mysql效能優化 mysql效能優化
優化方式 1.空間換時間 冗餘 2.時間換空間 字段優先使用型別 int date char varchar text 索引型別 btree索引 hash索引 索引的葉子下,存放乙個資訊指向所在行的資料位址。btree有利於範圍查詢,hash有利於精確查詢。btree用的更多一些。btree索引的常...
mysql的效能優化 mysql效能優化
檢視安裝指令碼 select version 非互動式超時時間,如jdbc show global variables like wait timeout 互動式超時時間,如資料庫工具 show global variables like interactive timeout show sessi...
mysql 效能優化 命令 mysql效能優化
發現問題 當發現程式執行比較慢的時候,首先排除物力資源問題之後,就將注意力轉向mysq資料庫 1 首先確定執行慢的sql語句 mysql show full processlist 2 確認低效的查詢 多次執行第一步發現time耗費大的sql語句。檢視耗費的時間。3 分析效能 為sql生成乙個執行計...