У меня есть 100K-данных в моей базе данных mysql, я хочу найти в нем запрос. Я снял стоп-слова и расщепляется в массив ключевых слов и хранится в переменной т.е. $key[0],$key[1],$key[2]
.Я с помощью следующего запросаЛюбой другой метод более быстрого выполнения для этого поискового запроса MYSQL?
SELECT *
FROM `table`
WHERE (`column` LIKE '%$key1%'
OR `column` LIKE '%$key2%'
OR `column` LIKE '%$key3%');
любые другие более быстрые способы сделать то же самое.
Вы можете воспользоваться преимуществом для индекса, если вам удастся удалить widlcard (%) от начала строки поиска. –
Вы используете неэффективный способ хранения ключей - лучше хранить ключевые слова в одной таблице и иметь таблицу ссылок, содержащую отношения. Это позволяет вам правильно индексировать вещи, и вам не нужно беспокоиться о том, что столбец ключевого слова исчерпан, потому что кто-то использовал слишком много ключевых слов. – andrewsi