我有一张桌子entrytable,里面有datum, username, status, status_spam_user,status_spam_system和text.
我想从具有username, status, status_spam_user,的特定值的行中选择列文本的内容status_spam_system。由于这可能会导致一长串条目(> 30'000),我想限制匹配行的数量。在此之前,匹配的行应按 column 排序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的信息,因此必须单独进行排序(即文件排序)。是否可以以某种方式设计我的查询/索引,它对WHERE以及有用ORDER BY?