У меня есть проблема с производительностью моей базы данных отчетов (в таблицах миллионы записей, 50+), когда я хочу вычислить различные столбцы, которые указывают уникальность посетителя, скажем, какой-то хеш-ключ.
Например:
У меня есть эти столбцы:
hashkey, имя, фамилия, date_datetime, сайт, пол и т. д. ...
Мне нужно разобраться в промежутке времени в 1 год, менее чем за 5 секунд:
SELECT COUNT(DISTINCT hashkey) FROM table WHERE visit_datetime BETWEEN 'YYYY-MM-DD' AND 'YYYY-MM-DD'
Этот запрос будет быстрым для коротких промежутков времени, но если он будет больше одного месяца, он может занять более 30 с.
Есть ли лучшая технология для расчета чего-то подобного, чем реляционные базы данных?
Мне интересно, что Google Analytics использует для уникальных посетителей, которые рассчитывают на лету.