“select count(*)”vs“Select 1”的结果计数:这是获取DB2中行数的更有效方法吗?

时间:2014-04-06 11:18:58

标签: sql performance db2

我有两种方法可以在DB2中获取表中的行数。 一种方法是

SELECT COUNT(*) FROM Foo WHERE col1 = val1;

另一种方法是计算结果(数字1和列表),这些结果是通过我的java代码中的方法从以下查询中重新获得的

SELECT 1 FROM Foo WHERE col1 = val1;

在这里,我将获得#1;"列表#1;""从第二个查询开始,然后在我的java代码中获取该列表的大小以获得计数。

有人可以解释一下获得行数最有效的方法吗?

1 个答案:

答案 0 :(得分:1)

select count更快 - 因为数据库只需返回一个数字而不是一个可能很长的列表。