Мой JAVA код использует приведенный ниже оператор выбора для извлечения данных. Col_1 является столбцом индекса, но, глядя на EXPLAIN, я вижу, что этот оператор выбора не использует индекс. Если я удаляю функцию UPPER, она использует индекс, но я не хочу менять мой java код.
SELECT *FROM MY_TABLE WHERE UPPER(COL_1) = UPPER(input_value);
В ORACLE мы можем создать функциональный индекс, используя оператор ниже, но ниже создания индекса оператор не работает в MySQL (8.0.12-коммерческий, innodb_version 8.0.12)
CREATE INDEX MY_INDEX ON MY_TABLE (UPPER(COL_1));