MySQL分页查询很慢

问题描述 投票:0回答:1

我有这个表使用 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);

有什么办法可以优化这个吗?

sql mysql select innodb limit
1个回答
0
投票

您必须使用预加载或选择特定列

© www.soinside.com 2019 - 2024. All rights reserved.