【发布时间】:2017-08-28 13:19:15
【问题描述】:
我正在尝试找出在对具有数百万条记录的 MySQL 数据库执行“选择”查询时使用“限制 1”是否会更快,例如:
SELECT * FROM users where id = 99999;
SELECT * FROM users where id = 99999 LIMIT 1; /* Is it faster? */
我做了一些测试,执行了一些有和没有 LIMIT 的查询,但它们之间的差异非常小(使用 LIMIt 有更好的速度),但我不确定使用“WHERE”之间是否有任何区别" 在非索引列和索引列中,是否存在性能问题。
即使知道“WHERE id = 99999”只会返回一行,我是否应该在我只想返回一个结果的所有查询中使用“LIMIT 1”?
【问题讨论】:
-
所以看起来如果我在索引列中使用 where 没关系,但使用 LIMIT 1 的“普通”列会更快?
-
似乎在任何情况下它都会更快,但您只会在
id不是唯一的大桌子上“感觉到”它
标签: mysql database sqlperformance