买的数据库是阿里云的,配置信息:
目前有 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`;
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.