Да, оптимизатор MySQL может сказать, что логическое AND
является алгебраически коммутативным, то есть A AND B
логически совпадает с B AND A
.
Он может переупорядочивать термины в соответствии с порядком индекса, если это возможно при сохранении логической эквивалентности.
Однако, в случае, если вы показываете, условие на column1
является условием диапазона, поэтому MySQL не может использовать индекс для поиска во втором столбце. Значения в column2
сортируются по значению column1, поэтому они практически не расположены. Поиск строк, где column2 > 3
должен был бы искать все подмножества строк, которые в любом случае совпадают с первым термином, и к этому времени механизм хранения будет считывать эти строки в память, поэтому использование индекса незначительно.