Как я могу оптимизировать это дальше? - PullRequest
0 голосов
/ 03 января 2019

Мой стол имеет ок. 121 246 211 строк. Записи представляют собой простую информацию о показах страниц.

Вот схема:

create table stat_page
(
  id int auto_increment primary key,
  pageId int not null,
  timestamp int not null
)
  collate = utf8_unicode_ci;

create index pageIdIndex
  on stat_page (pageId);

create index timestampIndex
  on stat_page (timestamp);

Этот запрос занимает 15 секунд:

select count(*)
from stat_page
where `timestamp` > 1543622400;

Этот запрос занимает почти 7 минут:

select count(*)
from stat_page
where `timestamp` > 1543622400
and pageId = 87;

Я думал, что проиндексировал правильные вещи; стол слишком большой? У кого-нибудь есть предложения, как быстрее получить информацию из этой таблицы?

1 Ответ

0 голосов
/ 03 января 2019

Следующий индекс улучшит производительность этого запроса:

create index ix1 on stat_page (pageId, timestamp);

Этот запрос использует этот "составной" индекс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...