У меня есть две колонки в моей MySQL базе данных start_time и end_time. Они оба являются TIMESTAMP. Я создал индекс по двум столбцам.
У меня 3,5 миллиона строк. Для выполнения этого запроса требуется 13 секунд:
select * from test WHERE start_time > TIMESTAMP('2020-04-02 09:00:00') and end_time < TIMESTAMP('2020-04-02 10:00:00')
Есть ли способ его оптимизации?
РЕДАКТИРОВАТЬ:
CREATE TABLE `test` (
`YYY` varchar(255) NOT NULL,
`start_time` timestamp NULL DEFAULT NULL,
`end_time` timestamp NULL DEFAULT NULL,
UNIQUE KEY `index1` (`YYY`,`start_time`) USING BTREE,
UNIQUE KEY `index2` (`YYY`,`start_time`,`end_time`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC