0
有人可以幫我這個查詢嗎?它工作正常,但需要太多時間。我確定這個問題是tb_activities
中的OR語句太多。有沒有人有任何想法使這個查詢更快?我怎樣才能加快這個MySQL查詢
SELECT tb_posts.*
FROM tb_posts
WHERE EXISTS (SELECT c_id
FROM tb_users
WHERE tb_posts.c_uid = tb_users.c_id
AND tb_users.c_tokens > 0)
AND NOT EXISTS (SELECT c_id
FROM tb_activities
WHERE tb_posts.c_url = tb_activities.c_url
AND tb_activities.c_category = 'gplus'
AND (tb_activities.c_uid LIKE '%,6x1,%'
OR tb_activities.c_uid LIKE '%,6x1'
OR tb_activities.c_uid LIKE '6x1,%'
OR tb_activities.c_uid = '6x1'))
AND NOT EXISTS (SELECT c_id
FROM tb_blacklist
WHERE tb_posts.c_url LIKE Concat('%', tb_blacklist.c_url
, '%')
AND tb_blacklist.c_times > 2
AND tb_blacklist.c_category = 'gplus')
AND tb_posts.c_category = 'classic'
AND tb_posts.c_status = 'run'
AND tb_posts.c_nogplus = 0
GROUP BY tb_posts.c_url
ORDER BY tb_posts.c_cost DESC,
tb_posts.c_date DESC
LIMIT 30
索引...所有即時消息 – CheeseConQueso 2012-08-10 16:13:39