Патч интересно было бы посмотреть, да, а вот про пред/след - че-то не понял я, почему via DBIC можно модифицировать запрос, а via DBI / sql-генератор нет
On Oct 29, 2011, at 3:52 AM, Mons Anderson wrote: > Кстати мы с vovkasm патчили Class::Accessor::Grouped по аналогии с > Class::XSaccessor. > Ускоряло работу DBIC в несколько раз. > так что в итоге производительность вполне приближалась к DBI. > > Кстати еще в тему DBIC: > у нас на проекте есть десятки различных выборок. некоторые делаются из одной > таблицы с разными join'ами и разными условиями, некоторые из другой, но к ней > join'ится первая таблица. > так вот нам понадобилось сделать запрос, который выбрал бы предыдущий и > следующий элемент из текущей выборки (resultset'a), относительно текущего. > > используя DBIC эта задача была вполне решаема, т.к. весь запрос представлен в > виде объекта и параметров и мы можем полностью проанализировать из чего он > состоит и модифицировать его. > В случае использования raw DBI на N выборок пришлось бы писать 2N запросов на > предыдущий/следующий элемент. И при модификации одного из запросов менять > соответственно другие 2. > > Так что при том, что DBIC это оверхед - это порой вполне оправданый оверхед. > Хотя я не спорю с тем, что на каких-то highload проектах мы отказыаваемся от > DBIC в пользу чистого DBI. > Хотя на стадии прототипизации DBIC вполне приемлем т.к. сильно упрощает > разработку. > > On 28.10.2011, at 15:59, Peter Rabbitson wrote: > >> On Fri, Oct 28, 2011 at 01:51:00PM +0200, Andrei wrote: >>> 28 октября 2011 г. 13:35 пользователь Евгений Торопов >>> <[email protected]>написал: >>> >>>> On Oct 28, 2011, at 3:11 PM, Andrei wrote: >>>> >>>> 28 октября 2011 г. 13:08 пользователь Ivan Petrov <[email protected] >>>>> написал: >>>> >>>>>> Твой аргумент какой то дикий - разница м/у DBIC и писать ручками SQL >>>>>> подобна той между Perl и писать ручками assembler. Тебе Perl часом не >>>>>> мешает? >>>>> >>>>> неуместное сравнение. >>>>> >>>>> говорить о DBIC vs писать SQL ручками вообще нельзя. ибо DBIC умеет >>>>> составлять только самые простые запросы. >>>>> >>>>> а на реальных задачах получаются либо извращения (вроде специальные >>>>> VIEW'ы дабы DBIC в них смотрел и не пытался самостоятельничать), либо >>>>> те же запросы ручками >>>>> >>>> >>>> >>>> DBIC автоматизиреут наиболее частые простые задачи. >>>> >>>> >>>> Наиболее частые простые задачи автоматизируются примитивнейшими >>>> sql-генераторами и не стоят того, чтоб иметь пиздец какой оверхед ( >>>> http://blogs.perl.org/users/aevar_arnfjor_bjarmason/2010/03/benchmarking-dbixclass-vs-plain-dbi-on-hailo.html >>>> ). >>>> Если бенчмарки по ссылке устарели - покажите новые. >>>> >>>> >>> Вы бы Айвара до конца читали. А там написано: >>> >> >> А зачем мне его читать, когда я с ним лично говорил пока он замеры проводил >> :) >> Я ктому ответил что "Да, у DBIC узких мест полно, о них знаем, над ними >> работаем и если надо прямо чтоб сегодня быстро - надо так (->cursor)" >> >> -- >> Moscow.pm mailing list >> [email protected] | http://moscow.pm.org > > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
