zelenin писал(а): ↑2018.07.27, 16:25
skynin писал(а): ↑2018.07.27, 14:24никакой сервер в БД не умеет так работать, а будет всегда слать 10 000 байт?
драйвер откроет соединение, отошлет в него запрос, дальше в рамках этого соединения сервер будет писать байты, пока открыто соединение.
я не зря дважды спросил - вы про любой драйвер и любую БД?
читаем например:
Fetch Buffer Size - The amount of memory used to determine how many rows of data the ODBC Driver prefetches at a time from an Oracle database regardless of the number of rows the application program requests in a single query. However, the number of prefetched rows depends on the width and number of columns specified in a single query. Applications that typically fetch fewer than 20 rows of data at a time improve their response time, particularly over slow network connections or to heavily loaded servers. Setting Fetch Buffer Size too high can make response time worse or consume large amounts of memory.
из "Using the Oracle ODBC Driver"
гугл транслейт переведет нормально.
про PDO тоже есть. но не так четко. плюс есть разные версии для Оракла. и есть которые эмулируют, а не честно запрашивают порционно.
так что вы малость преувеличили свои знания
обычное дело, только с Мускулом имели дело, вот и не в курсе про "любую базу данных".
а могли бы сами погуглить, раз я так настойчиво спрашивал
zelenin писал(а): ↑2018.07.27, 16:25
Итоговое кол-во байтов (10000) известно заранее, только если серверу выгодно сразу прочитать весь ответ в буфер, из которого их будет отдавать клиенту.
не обязательно. зависит от реализации - сервера БД, драйвера БД и кучи неизвестных в общем случае факторов тонкостей их алгоритмов.
но думаю что разговор об открытых курсорах в рамках открытого соединения в серьезных БД точно будет моим монологом.
zelenin писал(а): ↑2018.07.27, 16:25Сервер продолжит писать данные в канал, пока они буферизуются на хосте, ожидая вычитки клиентом.
я рассказал в этой теме о том, чего возражающие мне не поняли, но решили поучить или уличить в незнании
цитировать себя не вижу смысла.
просто понимаете, я пришел в веб разработку из мира Джавы.
где то что я рассказал требуют на собеседовании уже на мидла, в рамках - а теперь поговорим о JDBC
то что php программисты с этим не сталкиваются, потому что - модель вычислений "рождаться чтобы умирать" и потому что нечасты задачи обрабатывать на клиенте массивы данных точно превышающих ОЗУ, и потому что для большинства синоним - сервер БД это конечно MySQL - не удивительно.
поэтому и неудивительно что в программерской тусовке более невежественными в программировании считают только 1Сников.
а потом конечно - "пыхеров"
на одном из докладов ко мне в кулуарах даже подошел парень как-то, с удивлением, - я вообще-то джавист, пришел просто послушать, но вы такое рассказывали... вы ж на php пишите? а почему тогда пыхеров считают недопрограммерами?
вот в эту тему и послал бы