限制或不限制?

时间:2013-06-07 01:57:34

标签: php sql pdo limit

假设一个表有一个ID列,PRIMARY KEY带有AUTOINCREMENT。

如果我进行如下查询:

SELECT * FROM table WHERE ID = ?

是否需要添加LIMIT 1

会增加性能吗?

我正在使用SQLite和PHP的PDO。

1 个答案:

答案 0 :(得分:5)

如果它是主键,那么引擎应该做正确的事情。主键索引是unique索引,因此MySQL知道只有一个匹配值。

但即使没有,对性能的影响也会非常小。引擎将使用主键索引来查找正确的值,直接转到索引中的正确位置。然后它将加载数据页面(以满足select *)。

然后,它立即停止。或者,它扫描并读取索引中的下一个值,然后停止。额外的开销是读取索引中的下一个值。与加载数据页相比,开销很小。

如果您对此类事情感兴趣,请查看documentation