Какой метод следует использовать для поиска строк в данных MySQL? - PullRequest
1 голос
/ 19 апреля 2010

У меня есть набор данных mysql, который содержит 86 миллионов строк.

Мне нужен относительно быстрый поиск по этим данным.

Все данные, которые я буду искать, являются строками.

Мне также нужно сделать частичные совпадения.

Теперь, если у меня есть «foobar» и поиск «% oob%», я знаю, что это будет очень медленно - он должен просматривать каждую строку, чтобы увидеть, есть ли совпадение.

Какие методы можно использовать для ускорения подобных запросов?

Ответы [ 2 ]

1 голос
/ 19 апреля 2010

Я не думаю, что полнотекстовый поиск будет позволять частичные совпадения (я могу ошибаться в этом).

Вы можете взглянуть на Sphinx Search , которая представляет собой систему полнотекстового и частичного поиска. Вы можете легко импортировать данные MySQL в него, а затем использовать простые запросы PHP для поиска данных. Это гораздо эффективнее, чем использование MySQL для выполнения запроса.

1 голос
/ 19 апреля 2010

То, что вы ищете, это Полнотекстовый поиск . Это позволит вам быстро выполнять частичные совпадения и быстро выполнять поиск по нескольким столбцам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...