【发布时间】:2019-08-21 02:54:15
【问题描述】:
我只是想知道列表中 id 的数量是否会影响查询性能。
查询示例:
SELECT * FROM foos WHERE foos.ID NOT IN (2, 4, 5, 6, 7)
(2, 4, 5, 6, 7) 是一个无限长的列表。
多少才算太多(按顺序)?
更新:我之所以问它是因为我有两个数据库。其中一个(只读)是项目的来源,另一个包含由操作员处理的项目。每次当操作员从只读数据库中请求新项目时,我都想排除已处理的项目。
【问题讨论】:
-
您不应该也标记这个 DB2 吗?到底什么是“无限开槽”?我应该害怕还是兴奋?
-
@AaronBertrand 我知道,对不起,但考虑到标题说 Mysql 但后来添加了每个 RDBMS 标签,我有点烦。
-
您的问题有点像问“以什么速度倒车危险?”在这种情况下,有很多方法可以满足您的要求,但如果您能提供请求的实际原因,我们可能会更有帮助。
-
“Groove 在列表中”是一个新的 Dee-Lite 粉碎
-
不能代表其他人,但我会告诉你为什么我投了反对票:(1)你问了一个基本的“这会慢吗?”您可以在比编写问题更短的时间内自行测试的问题。当您遇到实际性能问题时,请发布特定问题。 (2) 您故意标记不当。如果您认为在约 1000 个代表中失去 -8 是不好的,请在 Android 论坛上发布一个 iPhone 问题,看看会发生什么。我保证反应不会是“少女”。供将来参考,请阅读:dba.blogoverflow.com/2012/06/help-us-help-you(特别是“有效标记”)
标签: mysql