删除和更新限制mysql查询中的重要性
假设我有一个包含几列的 MySQL 用户表,其中一列是用户 ID(其中不能有重复的条目)。删除或更新特定行时,我应该使用 LIMIT 1,这比删除和更新查询没有限制更快吗?
那么,DELETE FROM users WHERE id=123 LIMIT 1
比 DELETE FROM users WHERE id=123
更快吗?
和更新一样吗?
Presume I have a MySQL users table with several columns, of which one is the user id (there can't be a duplicate entry on that). When deleting or updating a particular row, should I use LIMIT 1, is that faster than no limit on delete and update querys?
So, is DELETE FROM users WHERE id=123 LIMIT 1
faster than DELETE FROM users WHERE id=123
?
Same with update?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
LIMIT 1
对 PK 更新/删除没有(也从来没有)好处。这会让您的查询看起来很奇怪(例如,user_id
不是 PK)。您可以通过运行带或不带
LIMIT 1
的EXPLAIN ...
来证明我的观点。这仅涉及 PK 和 UNIQUE 密钥。如果是 INDEX
LIMIT
可能是巨大的优化。There is no (and never was) benefit of
LIMIT 1
on PK updates/deletes. This makes your queries look weird (like,user_id
is not PK).You can prove my opinion by running
EXPLAIN ...
with and withoutLIMIT 1
.That's all only about PK and UNIQUE keys. In case of INDEX
LIMIT
may be huge optimization.