Есть ли в SQL Server такой параметр, как «размер массива» в Oracle? - PullRequest
0 голосов
/ 28 июня 2011

Как указано в заголовке. Я хочу знать, что SQL Server может частично выполнять SQL, как оракул? means server wait client to process the data in last network packet and then fill next packet Я заметил, что когда вы выполняете оператор выбора в SQLServer Management studio, вы можете сразу получить первые строки, пока оператор еще работает . Но я не могу получить это в компоненте ADO. Все, о чем я могу думать, это использовать курсор на стороне сервера и использовать курсор без набора ключей. Но ADO для этого используют sp_cursoropen и sp_cursorfetch . Не использовать размер кеша, как sql * plus do. Это означает, что это поведение на стороне клиента , не то, что в SSMS. Я хочу знать, почему.

Ответы [ 2 ]

1 голос
/ 28 июня 2011

Похоже, что соответствующая функция в SQL Server называется размером выборки массива. (Обсуждается здесь , например.)

1 голос
/ 28 июня 2011

Вы имеете в виду SET ARRAYSIZE, команду SQL * Plus ?

Если это так, аналогичная настройка может быть SET ROWCOUNT. Здесь могут быть некоторые тонкости, которые мне не хватает, поскольку я не использую Oracle ежедневно.

Если я угадал, то можете ли вы подробнее рассказать о том, что делает «Размер массива», поскольку я не могу найти какие-либо совпадения, которые кажутся актуальными при поиске размера массива Oracle.


На самом деле, перечитывая материал, который я могу найти о set arraysize в SQL * Plus, он, похоже, сильно отличается от ROWCOUNT. Но описание (которое, кажется, контролирует, сколько строк возвращается в каждом цикле, но не ограничивает общее количество строк), похоже, не соответствует вашему описанию «частично выполнить SQL как оракул». Я не могу думать о чем-либо, что могло бы контролировать пакетирование результатов, возвращаемых клиенту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...