Стоит ли Sphinx для неполного текстового поиска? - PullRequest
2 голосов
/ 04 июля 2011

У меня возникли проблемы с оптимизацией запроса SELECT для 150-метровых таблиц строк.Я бы хотел найти md5 (char (32)) как можно быстрее.Как вы думаете, Сфинкс имеет смысл в этом сценарии?Я прочитал много вещей, и это выглядит очень хорошо для полнотекстового поиска.Стоит ли это для моего примера?

name char(64)
lname char(253)
md5 char(32)
id bigint(20)

Спасибо,

Ответы [ 2 ]

3 голосов
/ 04 июля 2011

Сфинкс не имеет смысла в этом сценарии.Вы ищете точное совпадение.Прежде всего, нужно проиндексировать столбец md5.Это должно привести к тому, что результат появится ОЧЕНЬ быстро.Если это не достаточно быстро, то вы можете использовать кэширование для более быстрого поиска (и снятия нагрузки с базы данных) - см. Memcached или что-то подобное.

1 голос
/ 04 июля 2011

ответ Эвана имеет смысл для меня.

если вы еще не используете sphynx, добавление дополнительного уровня в ваше приложение требует обоснования. это означает, что сначала посмотрим, достаточно ли это хорошо в mysql.

Возможно, вы предполагаете, что другие части вашего приложения уже используют mysql. если вы не ... ну, тогда есть много вариантов для менее функциональных БД, которые могут превзойти по скорости.

...