Вообще-то это классическая задача многофакторного поиска.<span></span><br><br>понедельник, 9 декабря 2013 г. пользователь Andrii Kostenko  писал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word"><div style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">Думаю, они нашли того, кто сделал такую таблицу, навесили люлей и заставили переделать =)</div>
 <div><br><span style="font-family:helvetica,arial;font-size:13px"></span></div><p style="color:#a0a0a8">On 9 декабря 2013 г. at 17:21:47, Mons Anderson (<a href="javascript:_e({}, 'cvml', '//v.perepelitsa@corp.mail.ru');" target="_blank">v.perepelitsa@corp.mail.ru</a>) wrote:</p>
 <blockquote type="cite"><span><div><div>Навесить люлей тому, кто сделал такую таблицу.
<br>
<br>Ну и поделись, что-же такого волшебного придумали эти самые тру-пхпшники?
<br>
<br>On 22.02.2013, at 1:50, Dmitry Simonov <<a href="javascript:_e({}, 'cvml', 'dsimonov@gmail.com');" target="_blank">dsimonov@gmail.com</a>> wrote:
<br>
<br>> Предлагаю решить всем задачку, с которой тру-пехапешники расправились сходу. Есть таблица в миллиард записей и 100+ колонок (c1, c2, c3...). Таблица разумеется постоянно растёт и апдейтится.
<br>>  
<br>> Требуется придумать решение, которое позволит в таблице делать выборки с динамическими условиями (то есть само условие определяется в рантайме, а не на этапе компиляции) вида: "( c1 = 100 and c2 > $a and c3 = 'some string' ) || ( ... and ... and ... ) || ... ". Скажу сразу, - решение "в лоб" просто составлять нужные правила для sql-запросов на постгре дают на таблице в миллион записей результаты сильно больше 0.1 секунды. Монгу тоже сразу выкидывать (неэффекттивна в шардированном виде и (или) если объём данных не помещается в оперативку).
<br>>  
<br>> Для тех, кому жизнь кажется малиной усугублю - для продакшн-проекта работать надо с числом таблицу 100+ и нагрузка на выборки с разных таблиц разная, хотя частично и поддаётся некоторой систематизации (недостаточной, чтобы её просто захардкодить).
<br>>  
<br>>  
<br>
<br>-- <br>Moscow.pm mailing list<br><a href="javascript:_e({}, 'cvml', 'moscow-pm@pm.org');" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</div></div></span></blockquote></div></blockquote><br><br>-- <br>---<br>Dmitriy V. Simonov,<br>Perl & Python programmer<br>