[SQL ] mysql explain 一個 query的效能問題
我有個table 是記課堂測驗的回答情況
主要的欄位為 課程編號 測驗編號 題目編號 學生 和其他資料
現在目前是用 (課程編號 測驗編號 題目編號 學生)當作primary key
我最近在看slow query的時候發現 有個query速度很慢 所以看了一下
他是拿 課程編號 測驗編號 學生 當作條件抓資料
出來的結果如下圖
https://picasaweb.google.com/lh/photo/XOI8biDfoFUET4Pq7seIGA?feat=directlink
後來我將 (課程編號 測驗編號 學生) 另外建了index之後 如下圖
https://picasaweb.google.com/lh/photo/AnhtOitLNngjS_cE0iiLWg?feat=directlink
速度有提昇不少 從0.1sec衝到0.0004sec
這邊可以看到雖然type都是ref 但是rows變少很多 key_len加了4
1.
但是我有個疑問是 key_len不是越小越準嗎?
那越準不是應該越好嗎???
有點不懂這個判斷的依據
2.
如果索引的大小比data的大小還大是不是很奇怪啊囧
還是我應該要把primary key給刪掉呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.105.191
※ 編輯: carlcarl 來自: 140.123.105.191 (07/25 17:06)
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):