SELECt id FROM A LEFT OUTER JOIN B ON A.id=B.id WHERe B.id IS NULL
你可以这样做。外部联接应该带来一点性能,但不是很多。
新的数据库系统可能仍会优化您的查询,因此不会有任何差异。
正确的方法是缓存!如果可能,请尝试查询缓存和应用程序级缓存。
当然,您需要适当的索引。
正确地说,我的意思是在两个表上最好是一个哈希索引,因为与具有对数的任何树相比,它具有静态查找时间
尝试在查询前放置一个解释,以了解到底是什么使速度变慢了。
如果您确实需要此方法来加快速度,则可以重新构建数据结构。
您可以创建一个触发器来标记表A中的标志,表be中是否存在相应的条目。当然,这种id数据冗余,但有时值得。只是将其视为缓存。
最后一个想法:您可以尝试
SELECt id FROM A WHERe id NOT IN (SELECt id FROMB)这样做可能会更快一些,因为不需要实际的连接,但是它也可能会比较慢,因为在be集合中的查找将是一次完整扫描。我不确定该如何处理,但值得一试。



