大きな問題があります。約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 分かかります。
だから私はこれを行うためのより速い方法があるかどうか尋ねていますか?