У меня Influx v1.3. У меня есть измерение с ~ 2+ миллионами записей в течение 1 месяца и 10 тегами внутри. Из них меня интересуют user_id
и article_id
.
Я пытаюсь извлечь количество событий, зарегистрированных для определенного user_id
с непустым article_id
.
Запрос на выбор всех пользовательских событий невероятно быстр:
select count(*) from pageviews where user_id = '92363';
Запрос конкретного события для пользователя и статьи невероятно быстр:
select * from pageviews where user_id = '92363' and article_id = '879729';
Но когда я пытаюсь добавить фильтр для непустого (или пустого) article_id
, запрос выполняется в течение десятков секунд.
select count(*) from pageviews where user_id = '92363' and article_id != '';
select count(*) from pageviews where user_id = '92363' and article_id !~ /.*/;
Что-то я делаю неправильно или что-то, что я должен настроить в базе данных? Это не кажется правильным. Количество пользовательских событий - ‹100, вручную я их буквально быстрее проходил.
В настоящее время я использую конфигурацию по умолчанию.
Спасибо.