为什么MySQL Query虽然有索引但速度慢?

时间:2016-01-26 08:59:04

标签: mysql performance

以下查询大约需要9秒。这对我来说似乎很慢。有什么想法为什么这么慢?

mysql> explain SELECT ts, wert
->  FROM visu_werte_int v0_
-> WHERE v0_.wert_id = 163
->   AND v0_.ts <= '2016-01-25 23:00:00'
->   AND v0_.ts >= '2016-01-24 23:00:00';

Explain result

2 个答案:

答案 0 :(得分:0)

试试这个:

SELECT ts, wert 
FROM visu_werte_int v0_ WHERE v0_.wert_id = 163 AND v0_.ts BETWEEN '2016-01-223:00:00' AND '2016-01-25 23:00:00';

如果您有问题,请在您的列wert_id上创建索引:

create index ix_visu_werte_int_search on visu_werte_int(wert_id,ts) using BTREE;

答案 1 :(得分:-1)

如果您目前有PRIMARY KEY(ts, wert_id),请考虑更换订单 - 这会使查询更快。但是,可能会伤害其他查询。所以,在决定之前,让我们看看你的所有问题。

Indexing cookbook