我有一个大问题。我有一个大约 50M 行的表。在这张表中,我有 3 列:位置、人员代码和日期。它看起来像这样:
date person location
2012-04-07 837592 0
2012-04-08 892857 6
2012-04-06 726474 1
2012-04-03 204857 4
2012-04-08 516485 9
2012-04-07 405867 0
因此,一个人可以在同一日期在不同地点,也可以在不同日期在同一地点。
现在,我的问题是我需要这样的查询:
SELECT COUNT (DISTINCT person) FROM my_table WHERE location = '0';
所以基本上我必须计算在不同时间在一个地方的不同人。如果我以前面描述的方式执行此操作,则查询大约需要 20 分钟。
所以我问是否有更快的方法来做到这一点?