Вообще-то это классическая задача многофакторного поиска.
понедельник, 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
