0
我有一個表entrytable
,具有colums datum
,username
,status
,status_spam_user
,status_spam_system
和text
。如何在簡單的MySQL查詢中設計索引/查詢以避免文件夾?
我想選擇列文本的內容,從具有一定值username
,status
,status_spam_user
,status_spam_system
行。由於這可能導致一長串條目(> 30'000)我想限制匹配行的數量。在此之前,匹配行應按列datum
排序。
SELECT text
FROM entrytable
WHERE user = 'username' &&
`status` = '1' && (
`status_spam_user` = 'no_spam'
|| (
`status_spam_user` = 'neutral' &&
`status_spam_system` = 'neutral'
)
)
ORDER BY datum DESC
LIMIT 6430 , 10
我添加兩個索引表中:
- index_datum(基準面)
- index_status_mit_spam(用戶,狀態,status_spam_user,status_spam_system)
對於該查詢的索引index_status_mit_spam
用來。由於索引不包含列datum
的信息,因此排序必須單獨進行(即filesort)。有沒有可能以某種方式設計我的查詢/索引,它對WHERE
以及ORDER BY
有用?
請發表解釋計劃.. –