首页 > 解决方案 > 如何让我的 MySQL 查询运行得更快?

问题描述

我得到了表“plays”的以下表结构:

在此处输入图像描述

在这个表中存储了大约 400 万条记录,现在类似于这个查询需要超过 6 秒来检索数据:

select * from plays where id_machine = 52 and cicle = 2 and play = 2450

每部剧集由7000部剧集组成。所以 foo 示例 cicle 3 将有 7000 条播放记录,其中“播放”列将从 1 变为 7000。

我需要大大减少这个时间。

我的一个朋友建议我在索引中转换 play 和 cicle,但我不太确定。

标签: mysql

解决方案


尝试使用复合索引也称为多列索引,就像您的情况一样(循环和播放)。它将提供更好的性能。

查询优化器将复合索引用于测试索引中所有列的查询,或测试第一列、前两列等的查询。

http://www.mysqltutorial.org/mysql-index/mysql-composite-index/


推荐阅读