Re: [SQL ] mysql explain 一個 query的效能問題

看板Database作者 (..)時間13年前 (2011/07/26 00:27), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《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
文章代碼(AID): #1EBPbZX6 (Database)
文章代碼(AID): #1EBPbZX6 (Database)