我得到了“plays”表的以下表结构:
在这个表中,存储了大约400万条记录,现在类似于这个查询的查询需要6秒以上的时间来检索数据:
select * from plays where id_machine = 52 and cicle = 2 and play = 2450
每一个剧本都是由7000个剧本组成的。所以foo示例cicle3将有7000个play记录,其中“play”列将从1变为7000。
我需要大大减少这个时间。
我的一个朋友建议我在索引中转换play和cicle,但我不太确定。
1条答案
按热度按时间vxf3dgd41#
尝试使用复合索引也被称为多列索引,就像在你的例子中一样(循环播放)。它将提供更好的性能。
查询优化器将复合索引用于测试索引中所有列的查询,或测试第一列、前两列等的查询。
http://www.mysqltutorial.org/mysql-index/mysql-composite-index/