gpt4 book ai didi

mysql - 当使用唯一键作为查询条件时,MySQL 会自动限制受影响的行吗?

转载 作者:行者123 更新时间:2023-11-29 05:49:39 25 4
gpt4 key购买 nike

让我们看一下对 MySQL 数据库的 SQL 查询:

UPDATE `messages` SET `read`=1 WHERE `id`=1234;

假设 messages 是一个非常长的表,id 是自动递增的主键。

我的问题是:

当 MySQL 发现一封带有 id=1234 的邮件时,它会自动停止搜索吗?或者换句话说:在这样的查询中使用 LIMIT 有什么意义吗?

最佳答案

Does MySQL automatically stop searching, when it finds one message with id=1234?

因为id是一个主键,所以它有一个索引。 MySQL 使用该索引来查找要更新的行。从查看许多行的意义上讲,这不是搜索。它只是随机访问右行的表。因为它是一个主键,MySQL 知道它必须只更新一行。正如我们在美国马萨诸塞州波士顿所说的那样,它的速度非常快。

Is there any point using LIMIT in query like this one?

没有。

不要试图超越 SQL。这是一种声明性语言,而不是程序性。使用您的查询(例如您的UPDATE)来描述您想要的内容。从字面上看,MySQL 在其用于计算出最快使用过程的代码中拥有数千个程序员年。

关于mysql - 当使用唯一键作为查询条件时,MySQL 会自动限制受影响的行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55631159/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com