Вы можете использовать полнотекстовый индекс для ускорения поиска в таблице. Однако он имеет некоторые ограничения - он работает только на таблицах MyISAM (если вы не используете MySQL 5.6.4 or newer), вам нужно указать его по всем столбцам, которые вы хотите выполнить поиск сразу, и вы можете искать только слова, длина которых больше, чем предел устанавливается глобально для всего сервера базы данных (по умолчанию 4-х символов)
либо использовать PhpMyAdmin для создания индекса, или вы можете сделать это вручную, синтаксис довольно прост:
ALTER TABLE tablename ADD FULLTEXT (column_you_want_to_search);
или для более столбцов:
ALTER TABLE tablename ADD FULLTEXT (column1, column2, column3);
Вы можете задать базу данных, которая содержит строки некоторых слов:
SELECT * FROM tablename WHERE MATCH(column_you_want_to_search) AGAINST ('search query')
SELECT * FROM tablename WHERE MATCH(column1, column2, column3) AGAINST ('another query')
Существует также возможность поиска в «булевом режиме», где вы можете указать, какие слова вы хотите, не хотите или использовать звездочку как подстановочные знаки. См. this MySQL reference для получения дополнительной информации.
* «Я очень мало знаю о MySQL. Сейчас у меня есть таблица с около 1 000 000 записей» * - Так зачем же брать что-то такое же, как миллионный проект? Вид трудно прыгать в глубоком конце, когда вы едва ли умеете плавать ;-) –
и миллион большой? – MatteoSp
ОК, миллион и один; теперь это big -'er ;-) –