我在MySQL中有一個非常複雜的查詢,當使用OR完成其中一個連接時,會顯着減慢查詢速度。我如何加快速度?相關的加入是:在MySQL中加入的OR優化
LEFT OUTER JOIN publications p ON p.id = virtual_performances.publication_id
OR p.shoot_id = shoots.id
刪除OR中的任一條件可將查詢時間從1.5秒減少到0.1秒。我能想到的所有相關欄目都有索引。有任何想法嗎?使用的列都有索引。使用EXPLAIN我發現一旦OR開始使用,MySQL最終不會使用任何索引。是否有一種我可以使用的特殊索引?
PostgreSQL也是如此嗎?請在這裏看到我的問題,如果你很熟悉:http://stackoverflow.com/questions/1677538/advanced-indexing-involving-or-ed-conditions-pgsql – 2009-11-05 01:36:43
我已經發布了你的其他問題的答案。 – 2009-11-05 01:55:06