В MySQL 5.xxx я выполнил запрос ниже, и он показал, что индекс не использовался, хотя был возможный ключ.
explain
select * from OPER_MEMB_AAAB
where AAA between '2020/01/01' and '2020/03/22'
order by AAA;
А вот моя структура таблицы.
create table OPER_MEMB_AAAB
(BAG varchar(16) ,
BBJ varchar(4) ,
AAA datetime ,
AAB int ,
AAC smallint ,
AAD int comment ,
AAE smallint ,
AAF datetime )
create unique index IDX_OPER_MEMB_AAAB_U on OPER_MEMB_AAAB(AAA,BAG,BBJ,AAC);
create index IDX_OPER_MEMB_AAAB_1 on OPER_MEMB_AAAB(AAF);
AAA - это столбец даты и времени и первый столбец уникального индекса. Почему Mysql не использовал уникальный индекс, хотя знал, что может его использовать? В этой таблице 4 миллиона записей и 2,8 миллиона различных значений AAA.