php. Пришел к выводу, что это фишка драйверов пыхи. Что это такое? Это что-то подобие курсоров (сахарок драйвера), или же просто датасет в оптимизированном состоянии лежит на сервере БД, но опять же лежит вся выборка, а значит это самоубийство для large table ?
если совсем на пальцах - есть водонапорная станция (это база данных), от неё идет труба - это сетевой канал, по которому данные из базы данных попадают к вам. и есть вы - это пхп. если рассматривать разницу с буферизируемым запросами, то небуферизируемый это когда взял чашечку, подошел к кранику, немножко открыл, набрал в чашечку водички и попил. если хочется еще - опять взял открыл краник, набрал в чашечку водички и еще попил. а вот буферизируемый это когда вставил кран себе в рот, открыл на всю и если на водонапорной станции оказалось слишком много воды, то кровь-кишки-распидорасило. точно так же и пхп - если данные черпать небуферизируемым запросом, то php будет аллоцировать под них место в памяти и парсить по мере их потребления, а если буферизируемым, то сразу. и если во втором случае данных окажется слишком много, то кровь-кишки-out-of-memory
Спасибо. На уровне пыхи мне понятно, и для чего это. Меня беспокоит мускул. В доке написано, что делается выборка и фетчится по мере потербления пыхой. И собственно вопрос, хранится ли весь резалсет на сервере мускула. Выглядит чем то бредовым, но с другой стороны - мускул+unbuffered не гуглится. Очень похоже на работу с курсорами, двигаем курсор и отдаем данные построчно. Но в доке php+ unbuffered нет ничего про курсоры.
Обсуждают сегодня