t1
我在一个有列的表中有超过 10K 条记录uid
。
我uid='xyz'
现在有 5 条记录,其中 2 条方法更好
SELECT * FROM t1 WHERE uid='xyz';
或者
SELECT * FROM t1 WHERE uid='xyz' LIMIT 5;
*只有 5 条 uid 为 xyz 的记录 *
t1
我在一个有列的表中有超过 10K 条记录uid
。
我uid='xyz'
现在有 5 条记录,其中 2 条方法更好
SELECT * FROM t1 WHERE uid='xyz';
或者
SELECT * FROM t1 WHERE uid='xyz' LIMIT 5;
*只有 5 条 uid 为 xyz 的记录 *
通常,您使用limit
withorder by
子句。否则,结果是任意的,可能无法重复。
如果您想要5条记录,请使用limit 5
. 如果您想要所有记录,则不要使用限制。如果两者都返回相同的数据,则两者的性能应该非常非常相似。
Asumming,正如您所解释的那样,有(绝对肯定)5行,例如uid='xyz'
:
uid
这两个语句的执行几乎完全相同,因为 MySQL 很容易“看到”只有 5 行要检查。uid
如果版本上没有索引会表现得更好,因为它会告诉 MySQL 在第 5个LIMIT
匹配行之后停止搜索——避免“花时间”检查剩余的行。不使用limit的另一个原因是现在只有5条记录。从现在起一年可能有17个。