У меня есть таблица MySQL примерно с 1,5 миллионами строк.Эта таблица содержит столбец с именем companies (integer)
, который содержит несколько различных значений (3 или 4), и еще один столбец с именем orders (varchar)
, который содержит множество различных значений (но некоторые идентичные).
Я создал несколькоиндекс столбца (тип INDEX) со столбцами companies
и orders
.
У меня есть простой запрос
SELECT * FROM TABLE1 WHERE companies = 1 AND orders = '344A7884'
Нет разницы во времени выполнения (около 4 секунд) при выполненииэтот запрос с реализованным индексом или без него.
Единственный способ найти время выполнения около 1 секунды - создать индекс только для «заказов» и выполнить следующий преобразованный запрос:
SELECT * FROM (SELECT * FROM TABLE1 WHERE orders = 34467884) RQ1 WHERE companies = 1
Это, кажется, не очень правильно.Может кто-нибудь объяснить мне это странное поведение и предложить лучший способ оптимизации индекса?