我有这个表使用 InnoDB 作为引擎:
create table if not exists Playlists(
UserId bigint unsigned not null,
Title varchar(50) not null,
IsPublic bool not null,
primary key (UserId, Title),
foreign key (UserId) references Users(Id)
on delete cascade
on update cascade
);
该表有大量数据集,大约>1_000_000,而且还在增加。 我想选择所有 IsPublic = TRUE 的播放列表并对其进行分页。
但是如果我用这个
select Title from Playlists where IsPublic = true limit @myLimit offset @myOffset
查询时间越来越长。
我也尝试过使用这样的索引,但也没有显着的改进
create index index_playlists_ispublic on Playlists(IsPublic);
有什么办法可以优化这个吗?
您必须使用预加载或选择特定列