Убедитесь, что все слова хранятся в таблице в все строчные буквы (или все заглавные буквы для вопроса). Вы можете использовать CONSTRAINT
, чтобы гарантировать это. Тогда вам не нужно использовать сопоставление, чтобы найти слова, и это сделает его быстрым.
Например:
create table words (
word varchar(50)
);
insert into words (word) values ('chicago'); -- always lower case
insert into words (word) values ('ia');
insert into words (word) values ('london');
Затем создайте индекс для столбца:
create index ix1 on words (word);
Теперь вы можете быстро искать:
select word from words where word = lower('IA');
Примечание : Обратите внимание, что функция LOWER()
применяется к "правой стороне" уравнения (Значение). Если вы примените его к столбцу, вы сделаете запрос медленным, поскольку не допустите использование индекса.