SELECT id FROM store ORDER BY id DESC LIMIT 1
SELECT COUNT(*) FROM store
我有一张桌子,ID是自动增量。 我尝试计算行数,因为我的id是从1自动递增,所以最后一个id将是行的相同值
我想知道哪个查询可以有更好的性能 SELECT last id或使用COUNT
答案 0 :(得分:4)
第一个可能表现更好。
第二个是准确的,你应该使用它。 id不保证没有漏洞。如果你有删除,肯定会有空白。
假设id
是主键,可以使用索引来满足两者,这应该比读取整个表更快。
答案 1 :(得分:0)
如果您正在使用MyISAM,请务必使用COUNT!无论如何,该值都存储在每个表中,因此它甚至不需要引用表内容。但它与InnoDB不同。它必须实际计算行数。但我仍然会使用COUNT。 InnoDB虽然不常见......
答案 2 :(得分:0)
我会选择count(*)
,因为它已在MySQL中进行了优化,并保证了正确的答案。您始终可以删除行,因此依赖上一个id
不是一个好主意。