Re: [SQL ] mysql explain 一個 query的效能問題
※ 引述《carlcarl (carl)》之銘言:
: 我有個table 是記課堂測驗的回答情況
: 主要的欄位為 課程編號 測驗編號 題目編號 學生 和其他資料
: 現在目前是用 (課程編號 測驗編號 題目編號 學生)當作primary key
A B C D
: 他是拿 課程編號 測驗編號 學生 當作條件抓資料
A B D
你遇到的是所謂ABC法則的問題,因為你的query是用到ABD,所以你的PK只會用到AB
當你加了一個ABD的index的時候,完整的配合到你的query所以效益比較高
: 1.
: 但是我有個疑問是 key_len不是越小越準嗎?
: 那越準不是應該越好嗎???
: 有點不懂這個判斷的依據
這個很簡單,這個欄位是顯示你的index使用的資料長度,因為他從8-->12
所以我猜測 課程編號 測驗編號 學生 都是int。
所以說你新的index是配合到你的三個欄位的where
: 2.
: 如果索引的大小比data的大小還大是不是很奇怪啊囧
: 還是我應該要把primary key給刪掉呢?
其實不會太奇怪,在實務上真的會發生
在MySQL 中,PK越單純越好,就是說用1個int當PK其實最單純。
如果你的資料量不大的話,其實用PK+auto_increment 其實單純又好用
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.33.16.211
推
07/26 04:24, , 1F
07/26 04:24, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):