只是好奇是否有可能使这个查询更快?或者是否有任何其他类似的查询会更好?
SELECT id,source FROM posts
WHERE id = ANY(SELECT image_id FROM `post_tags` WHERE tag_id = (SELECT id FROM `tags` WHERE tag = _utf8 '$TAG' collate utf8_bin))
AND posts.exists = 'n'
ORDER BY posts.ratecount DESC
LIMIT 0,100
不使用:
AND posts.exists = 'n'
ORDER BY posts.ratecount
DESC LIMIT 0,100
它可以加快查询到可用级别,但对于我正在做的事情有点需要这个。
- Tags 表具有“tag”和“id”的唯一索引。
- 标签有 83K 行。
- Post_tags 具有“image_id”、“tag_id”的唯一索引。也是每个的正常索引。
- Post_tags 有 471K 行。
- 帖子具有“id”的唯一索引。'exists' 和 'ratecount' 的正常索引也是如此。
- Posts 表有大约 110 万行。