【发布时间】:2019-05-28 01:03:36
【问题描述】:
对于你们中的一些人来说,这可能是一个微不足道的问题,但我还没有找到/理解以下问题的解决方案:
我有一个大型 c 60 GB 数据库,其结构如下:
| Field | Type | Null | Key | Default | Extra |
+------------+----------+------+-----+---------+-------+
| date | datetime | YES | MUL | NULL | |
| chgpct1d | double | YES | | NULL | |
| pair | text | YES | | NULL | |
数据库存储了过去 10 年中 200k 种不同配对交易的每日百分比变化。因此,日期和对都不是唯一键(日期+对的组合是)。有 c 2600 个不同的日期条目和 c 200k 个不同的对生成 > 520 MM 行。
以下查询需要 c 多分钟才能返回结果。
SELECT date, chgpct1d, pair FROM db WHERE date = '2018-12-20';
我可以做些什么来加快速度?
我已经阅读了多列索引,但我不确定这是否对我的情况有所帮助,因为所有 WHERE 查询都只会指向“日期”字段。
【问题讨论】:
标签: mysql indexing database-design large-data query-performance