看板 Knuckles_note
作者 ctec (bruce)
標題 Re: [MySQL] 使用 ORDER BY 時的 index 設定
時間 2013年01月08日 Tue. PM 05:23:25


※ 引述《Knuckles》之銘言:
: SQL有使用到 ORDER BY 來排序資料時,要設定好 index 速度才會快
: 若使用 explain SELECT ... 後
: 出現 using filesort,代表 index 沒有設好
: 參考 http://www.ccvita.com/169.html
: 若沒有使用 WHERE,而是對整張表排序時,就算有設 index 也可能會用 filesort
: 因為這種情況時 using filesort 可能比 using index 快
: 參考 http://stackoverflow.com/questions/9641463/mysql-not-using-index-for-order-by

今天研究了下這篇發現不知道該怎麼改善我的資料庫

A table有欄位:id, channel等等
B table有欄位:id, Aid(內容等於A表的id),time等等
撈資料的時候先去A table看該channel有哪幾個id
再去B table將那些Aid的內容撈出來 order by time DESC

A table index=channel
B table index=Aid

我在B table裡面無論如何增加index都會出現filesort
是否應該在B table建立Cid欄位並將A table的channel copy過來,然後建立index(time,Cid)?

--
※ 作者: ctec 時間: 2013-01-08 17:23:25
※ 同主題文章:
Re: [MySQL] 使用 ORDER BY 時的 index 設定
01-08 17:23 ctec
ctec: Re: [MySQL] 使用 ORDER BY 時的 index 設定 - KnucklesNote板