我正在使用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解决了这个速度慢的问题
我认为第二个索引导致了这个问题。
我只是想知道这是怎么回事?
发布于 2020-12-04 09:54:30
+-------------+---------+---------+------+---------------+--------------+-+| id | estRows | actRows | task | access object | execution info | operator info | memory | disk |+------+---------------+----------------------------------------------------------------+---------------+--------+------+| Point_Get_1 | 1.00 |1|根|表:用户|时间:1.302907ms。循环数:2,Get:{num_rpc:1,total_time:1.2536ms} |句柄:10|不适用|不适用|+-------------+---------+---------+------+---------------+--------------------------+---------------+--------+------+
我想你可以选择“解释分析* FROM users where id=1999;”。SQL的执行计划是否相同?
https://stackoverflow.com/questions/64816153
复制相似问题