【发布时间】:2020-11-13 05:54:42
【问题描述】:
我正在使用 TiDB 做一些测试。
我创建了一个如下表
CREATE TABLE users(
id BIGINT PRIMARY KEY NOT NULL,
updated BIGINT NOT NULL
)
我用 2 个索引将大约 100,000,000 行加载到此表中
CREATE INDEX hash_index USING HASH ON users (id);
CREATE INDEX btree_index USING BTREE ON users (updated);
我发现查询速度变得很慢,需要几秒钟
查询sql如下。我只使用了第一个索引。
SELECT * FROM users where id=1999;
我通过删除第二个索引updated解决了这个缓慢的问题
我认为第二个索引会导致这个问题。
我只是想知道它是怎么发生的?
【问题讨论】:
-
所以重新创建索引会再次减慢查询速度?
-
另外,鉴于 id 是 PRIMARY KEY,我很难理解 hash_index 的意义