【发布时间】:2015-10-19 13:09:25
【问题描述】:
我已经为此尝试了很多答案,但没有一个对我有用。
Find records where join doesn't exist
Select * from table1 that does not exist in table2 with conditional
我有 2 张桌子。 1 是一个包含大约 50,000 个项目的项目表。第二个是超过 100,000 行的评级表。我想获得所有没有投票的项目。
我尝试了以下方法,它似乎是有效的,但它似乎冻结了,可能是因为它必须检查这么多记录。我有没有更有效的方法来实现这一点。
SELECT title FROM items LEFT JOIN itemvotes ON items.id = itemvotes.itemid WHERE itemvotes.vote 为空
我确信这个查询最终会返回结果,但我需要这是一个快速的东西,可以从一个 php 网页检查,所以它需要在几秒钟内加载。
只是为了确认。上面的查询花了 3 多分钟才返回结果。它是有效的,但是太慢了。
【问题讨论】:
-
您能否提供
items和itemvotes的表定义?特别是包括指数。