我想知道在查询中包含LIMIT 1是否更具内存效率
当我们始终期待1个结果时。
例如,我有以下查询
select * from clients where client_id = x
我没有广泛的数据库管理技能,但我假设
select * from clients where client_id = x limit 1
会因为查询而有点内存效率
一旦找到,就不必遍历桌子上的每一行
那一行。
我是对的,或者如果我在这个特定情况下包含限制并不重要?
答案 0 :(得分:1)
如果您没有索引,可以产生重大影响。
考虑以下情况,没有索引:
select *
from clients
where client_id = x
引擎需要扫描整个表以确定只有一行。 limit 1
可以在第一场比赛时停止。
但是,如果您有索引,那么索引将具有相等比较的信息。因此,限制不会对性能产生影响。可能会有一些细微差别,但应该可以忽略不计。
答案 1 :(得分:0)
如果client_id是主要索引,则不需要使用LIMIT 1.因为它不会更有效。