如何进一步优化?

qq24tv8q  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(423)

我的table大约有121246211行。记录是简单的页面印象信息。
以下是模式:

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;

我以为我索引了正确的东西;这张table是不是太大了?有人对如何更快地从这个表中获取信息有什么建议吗?

0sgqnhkj

0sgqnhkj1#

以下索引将提高该查询的性能:

create index ix1 on stat_page (pageId, timestamp);

这个查询利用了这个“复合”索引。

相关问题