да и тут зависит от того как часть ты будешь это использовать.
если раз в месяц то пофиг дорого или нет, а если это одна из главных фич - тогда сфинкс
On Jul 22, 2011, at 1:53 PM, Akzhan Abdulin wrote:
sequential scan - это очень дорого.22 июля 2011 г. 14:50 пользователь Alexander Simonov <asimonov@gmail.com> написал:
как в мускуле я хз.
On Jul 22, 2011, at 6:37 AM, Timothy N. Tsvetkov wrote:
> rlike только ведь full scan'ом ищет? на каком кол-ве записей пипец становится?
в постгрессе так:
# EXPLAIN ANALYZE select id from users where (nickname || ' ' || id) like '%mimi%';
QUERY PLAN
----------------------------------------------------------------------------------------------------
Seq Scan on users (cost=0.00..1135.32 rows=90 width=4) (actual time=3.598..45.807 rows=5 loops=1)
Filter: ((((nickname)::text || ' '::text) || (id)::text) ~~ '%mimi%'::text)
Total runtime: 45.879 ms
(3 rows)
# EXPLAIN ANALYZE select id from users where (nickname || ' ' || id) like '%i%';
QUERY PLAN
----------------------------------------------------------------------------------------------------------
Seq Scan on users (cost=0.00..1135.32 rows=11213 width=4) (actual time=0.021..36.303 rows=4793 loops=1)
Filter: ((((nickname)::text || ' '::text) || (id)::text) ~~ '%i%'::text)
Total runtime: 39.345 ms
(3 rows)
ничего смертельного я тут не вижу.
>
> 2011/7/21 Alexander Simonov <asimonov@gmail.com>:
>>
>> конкатим три эти колонки и для каждого слова в поиске делаем rlike.
>> получаем массив и выводим.
>> On Jul 21, 2011, at 2:17 PM, Константин Рейдо wrote:
>>
>> Добрый день.
>> Появилась задача реализовать поиск похожий на тот что действует в контакте.
>> В базе есть три колонки ФИО на вью есть строка поиска, нужно находить записи
>> в каком бы порядке и сочетании имени фамилии и отчества не вводил. Может
>> кто-нибудь сталкивался с такого типа задачей и как-то уже решал ее? Какие
>> вообще соображение как это лучше сделать?
>> Спасибо.
>> --
>> --
>> Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы
>> "RubyOnRails to russian" на группах Google.
>> FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
>>
>> Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
>> ror2ru@googlegroups.com
>> Чтобы отменить подписку на эту группу, отправьте сообщение по адресу:
>> ror2ru-unsubscribe@googlegroups.com
>> Дополнительные варианты находятся на странице группы
>> http://groups.google.com/group/ror2ru?hl=ru
>>
>> Alexander Simonov
>> asimonov@gmail.com
>>
>>
>> --
>> --
>> Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы
>> "RubyOnRails to russian" на группах Google.
>> FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
>>
>> Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
>> ror2ru@googlegroups.com
>> Чтобы отменить подписку на эту группу, отправьте сообщение по адресу:
>> ror2ru-unsubscribe@googlegroups.com
>> Дополнительные варианты находятся на странице группы
>> http://groups.google.com/group/ror2ru?hl=ru
>
> --
> --
> Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
> FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
>
> Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
> ror2ru@googlegroups.com
> Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
> Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru
Alexander Simonov
asimonov@gmail.com
--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror2ru@googlegroups.com
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror2ru@googlegroups.com
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru
Alexander Simonov
Комментариев нет:
Отправить комментарий