目前有 4 千万不到的数据,我拆成了 8 个表,每个表放 500 万行数据。单张表的表结构如下:
create table `bio-hub`.`pubmed-article-0`
(
pm_id int not null
primary key,
title varchar(2000) not null,
author text not null,
lang varchar(255) null,
abstract text null,
keywords text null,
journal_title varchar(255) null,
journal_pub_year varchar(255) null,
journal_pub_month varchar(255) null,
journal_i_s_s_n varchar(255) null,
mesh_ids varchar(2000) null,
mesh_cat varchar(2000) null comment '医学主题词所属分类,如`A01`',
created_at datetime not null,
updated_at datetime not null
);
create index `pubmed-article-0_journal_pub_year`
on `bio-hub`.`pubmed-article-0` (journal_pub_year);
现状是我再 DataGrip 里光执行下面这样一句 count 都要三四十秒(首次,没缓存的情况下),是我哪里姿势不对吗,这也太慢了。带上关键词查询的 sql 不得更慢了。怎么破?
更新:我人在上海,数据库节点也是上海的。
SELECT COUNT(1) FROM `pubmed-article-1`;