Вообще-то это классическая задача многофакторного поиска.

понедельник, 9 декабря 2013 г. пользователь Andrii Kostenko писал:

> Думаю, они нашли того, кто сделал такую таблицу, навесили люлей и
> заставили переделать =)
>
> On 9 декабря 2013 г. at 17:21:47, Mons Anderson (
> [email protected] <javascript:_e({}, 'cvml',
> '//[email protected]');>) wrote:
>
> Навесить люлей тому, кто сделал такую таблицу.
>
> Ну и поделись, что-же такого волшебного придумали эти самые тру-пхпшники?
>
> On 22.02.2013, at 1:50, Dmitry Simonov <[email protected]<javascript:_e({}, 
> 'cvml', '[email protected]');>>
> wrote:
>
> > Предлагаю решить всем задачку, с которой тру-пехапешники расправились
> сходу. Есть таблица в миллиард записей и 100+ колонок (c1, c2, c3...).
> Таблица разумеется постоянно растёт и апдейтится.
> >
> > Требуется придумать решение, которое позволит в таблице делать выборки с
> динамическими условиями (то есть само условие определяется в рантайме, а не
> на этапе компиляции) вида: "( c1 = 100 and c2 > $a and c3 = 'some string' )
> || ( ... and ... and ... ) || ... ". Скажу сразу, - решение "в лоб" просто
> составлять нужные правила для sql-запросов на постгре дают на таблице в
> миллион записей результаты сильно больше 0.1 секунды. Монгу тоже сразу
> выкидывать (неэффекттивна в шардированном виде и (или) если объём данных не
> помещается в оперативку).
> >
> > Для тех, кому жизнь кажется малиной усугублю - для продакшн-проекта
> работать надо с числом таблицу 100+ и нагрузка на выборки с разных таблиц
> разная, хотя частично и поддаётся некоторой систематизации (недостаточной,
> чтобы её просто захардкодить).
> >
> >
>
> --
> Moscow.pm mailing list
> [email protected] <javascript:_e({}, 'cvml', '[email protected]');> |
> http://moscow.pm.org
>
>

-- 
---
Dmitriy V. Simonov,
Perl & Python programmer
-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить