mysql - 当 WHERE 子句中存在唯一列时,使用 LIMIT 1 会很有用吗?

标签 mysql sql limit

我所有的问题都是上面的标题。

其实我想知道limit在mysql中是如何工作的?假设这张表:

// colors
+----+-------+
| id | color |
+----+-------+
| 1  | blue  |
| 2  | red   |
| 3  | green |
| 4  | white |
| 5  | grey  |
| 6  | brown |
| 7  | black |
| 8  | pink  |
+----+-------+

如您所知,id 列是唯一的(它是 PK)。这是我的查询:

SELECT color FROM colors WHERE id = 5;

现在我想知道,如果我在最后使用 LIMIT 1 ,上面的查询会更有效吗?

最佳答案

不,因为您正在检索一行, 如果您添加限制 1,您的 dbms 将计算有多少行并决定是否有必要限制结果。

这是一项不必要的工作。

关于mysql - 当 WHERE 子句中存在唯一列时,使用 LIMIT 1 会很有用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37655079/

相关文章:

mysql - 一对多 MySQL

SQL Server 字符串搜索和评估

php - MySQL SELECT 条件基于最后一行和日期间隔

C# mysql参数值为null?

sql - 计算所有记录中两个日期时间之间的平均时间?

mysql - 在两个表的Left Join中,选择左表中的所有记录,并从右表中仅选择与左表匹配的一行记录

sorting - 在单元格之间复制/粘贴 Google 表格中的查询并自动替换值

java - 如何在 Java 中限制 JPasswordField 中的位数?

mysql - 查询 : How to get data from another row to fill lacking data?

php - PHP/MySQL 中的好友系统?