数据库执行=搜索时速度很快,执行 IN 搜索时速度很慢是什么原因?

25次阅读

共计 330 个字符,预计需要花费 1 分钟才能阅读完成。

表里存的传感器回报信号数据,因为数据量不大,没用时序数据库因为感觉关系型跑的也挺好的。

表里只有三列,rid(自增主键),传感器编号 sid,上报时间 datetime。在 sid 和 datetime 上有联合索引。

之前做基准测试的时候只做了单点的,就是

SELECT ... FROM records WHERE sid=0 ORDER BY datetime ASC LIMIT 10

类似这种感觉的,运行速度是很快的,平均延迟低于 100 毫秒,解释分析也确实是走索引了

但是最近改成多栏目搜索后

SELECT ... FROM records WHERE sid IN (0, 1, 2) ORDER BY datetime ASC LIMIT 10

解释分析也是走索引的,但是执行时间会超过 1 分钟。

这是啥原因?数据量两亿行左右。

正文完
 0