Я помню, что где-то читал, чтобы избежать оператора LIKE в Jet SQL, потому что он не будет использовать индексы для столбца.Так, давным-давно я начал писать запросы «начинается с», например:
WHERE MyColumn BETWEEN "SomeText" AND "SomeTextZZZ"
Пока в столбце MyColumn есть индекс, BETWEEN будет использовать этот индекс.Я начинаю подвергать сомнению мои пути теперь.Подход BETWEEN никогда не подводил меня, но он кажется неуклюжим.
Я могу понять, почему в запросе "содержимого" нельзя использовать индекс:
WHERE MyColumn LIKE "*SomeText*"
Но похоже, что он используетиндекс по запросу «начинается с»:
WHERE MyColumn LIKE "SomeText*"
является настолько очевидной оптимизацией, что команда Jet / ACE могла бы ее реализовать.
Может ли кто-нибудь предоставить документация или доказательство сравнительного анализа для решения этого вопроса так или иначе?