Mysql - 索引不会改善查询时间

时间:2017-10-23 14:10:02

标签: mysql database indexing

我有这张桌子:

CREATE TABLE `fund_historical_serie` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `date` date DEFAULT NULL,
  `patrimony` decimal(14,5) NOT NULL,
  `quota` decimal(14,5) NOT NULL,
  `fund_id` bigint(20) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `FKchhpobehjf7ebat11b4clv7yx` (`fund_id`),
  CONSTRAINT `FKchhpobehjf7ebat11b4clv7yx` FOREIGN KEY (`fund_id`) REFERENCES `fund` (`id`)
)

有大约8密耳的记录。

此查询大约需要6秒执行:

select * from fund_historical_serie where fund_id IN (17957,308331) and `date` >= '2017-02-28' and  `date` <= '2017-08-30';

我在日期列上创建了一个索引,但它没有改善查询时间:

Alter table fund_historical_serie add index date_idx (`date`);

查询仍然需要6秒。

当我运行索引查询时,它显示0行和0个受影响的记录,索引是否应该影响表上的当前记录?或者我必须重新插入吗?

我还可以做些什么来改善查询时间?

谢谢。

1 个答案:

答案 0 :(得分:0)

Fund_ID和Date的综合指数将改善业绩。