我有这张桌子:
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个受影响的记录,索引是否应该影响表上的当前记录?或者我必须重新插入吗?
我还可以做些什么来改善查询时间?
谢谢。
答案 0 :(得分:0)
Fund_ID和Date的综合指数将改善业绩。