<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">Думаю, они нашли того, кто сделал такую таблицу, навесили люлей и заставили переделать =)</div> <div id="bloop_sign_1386596242539212032"><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="mailto://v.perepelitsa@corp.mail.ru">v.perepelitsa@corp.mail.ru</a>) wrote:</p> <blockquote type="cite" class="clean_bq"><span><div><div>Навесить люлей тому, кто сделал такую таблицу.
<br>
<br>Ну и поделись, что-же такого волшебного придумали эти самые тру-пхпшники?
<br>
<br>On 22.02.2013, at 1:50, Dmitry Simonov <dsimonov@gmail.com> 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>moscow-pm@pm.org | http://moscow.pm.org<br></div></div></span></blockquote></body></html>