JOIN 与 WHERE:数据库查询哪个更快?
在数据库查询的世界中,速度至关重要。当您有两个通过外键链接的表(例如 Document 和 DocumentStats)时,您可能想知道使用 JOIN 或 WHERE 子句检索数据是否更快。
问题:
考虑以下查询:
SELECT * FROM Document, DocumentStats WHERE DocumentStats.Id = Document.Id AND DocumentStats.NbViews > 500
使用 INNER JOIN 的替代查询是:
SELECT * FROM Document INNER JOIN DocumentStats ON Document.Id = DocumentStats.Id WHERE DocumentStats.NbViews > 500
哪个查询执行得更快,或者它们是等价的?
答案:
理论上,两个查询应该执行得同样快查询优化器优化执行计划。然而,在实践中,数据库引擎可能会为其中一个查询生成更好的执行计划,尤其是对于更复杂的操作。
简而言之,最好在数据库引擎上测试这两个查询,以确定哪一个执行得更好。但是,您通常可以期望它们对于简单查询具有相当的速度。
以上是JOIN 与 WHERE:对于具有外键关系的数据库查询,哪个更快?的详细内容。更多信息请关注PHP中文网其他相关文章!