|
|
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
Как с помощью курсора заполнить data window ‘dw_1’ ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2007, 17:54 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
VoitovychКак с помощью курсора заполнить data window ‘dw_1’ ? Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2007, 18:09 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
Voitovych wrote: > Как с помощью курсора > заполнить data window 'dw_1' ? Зачем заниматься этим дебилизмом? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2007, 18:18 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
>> Зачем заниматься этим дебилизмом? вот именно чем тебя запрос для віборки в dw не устраивает??? и кстати зачем обнолять данные курсором??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2007, 18:27 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
автор>> Зачем заниматься этим дебилизмом? вот именно чем тебя запрос для віборки в dw не устраивает??? и кстати зачем обнолять данные курсором??? ЧИТАЮ В КНИГАХ, ПОПРОБОВАЛ, ОШИБОК НЕТ, ЗАЧЕМ ТОГДА ПИШУТ? АХ, ДОШЛО - КНИГИ ТО С 1998 ГОДА УЖЕ 9 ЛЕТ ПРОШЛО, ИЗВИНИТЕ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2007, 18:57 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
ruha wrote: > чем тебя запрос для в?борки в dw не устраивает??? Наверное, он слишком быстро работает . > и кстати зачем обнолять данные курсором??? Где-то прочитал, а, поскольку своих мозгов нет, пытается тупо скопировать из книги. Кстати, после минут 10 RTFM-а и Гугля UPDATE курсором у меня заработал (PB9+ASA8). Теперь буду думать, куда бы приткнуть эту фичу, ибо никогда раньше ей не пользовался, и вообще представлял её себе ну очень туманно. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2007, 18:58 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
Владимир2 wrote: > ЧИТАЮ В КНИГАХ, ПОПРОБОВАЛ, > ОШИБОК НЕТ, > > ЗАЧЕМ ТОГДА ПИШУТ? Затем, что есть разные СУБД. Кроме того, эхотаг меняется, и написанное для 5 или 6 версий не всегда один в один подходит для 9-й. И, кстати, орать на нас необязательно. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2007, 19:02 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
VoitovychКак с помощью курсора заполнить data window ‘dw_1’ ?Если хочешь использовать курсор для выборки данных (это иногда удобно чтоб не отягощать датавиндовский SQL, ведь всегда легче понять несколько простых SQLей, чем один "напиханный"), то надо поместить этот курсор в хранимую процедуру и сделать эту процедуру источником данных датавиндова. Курсор на стороне клиента - вещь неэфективная и отягощающая код, это пережиток прошлого, оставляемый в билдере для совместимости со старыми версиями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2007, 19:26 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
курсоры вообще пережиток прошлого так как они реализуют навигационный доступ к данным который хорош в dBase и Paradox, а мы вроде бы как живем в веке рсбд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2007, 10:00 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
Мудрецы! Кто ответит: datawindow использует курсор или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2007, 17:47 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
AStadnikМудрецы! Кто ответит: datawindow использует курсор или нет? включи trace и посмотри сам pbtrace Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2007, 18:00 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
> Мудрецы! Кто ответит: datawindow использует курсор или нет? ответ : нет ms sql 200 запусти Profiler и посмотри кстати встраеные в pb курсоры тоже не используют серверные курсоры но вопрос ведь совсем не в етом ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2007, 18:49 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
ruha> Мудрецы! Кто ответит: datawindow использует курсор или нет? ответ : нет ms sql 200 запусти Profiler и посмотри кстати встраеные в pb курсоры тоже не используют серверные курсоры но вопрос ведь совсем не в етом ... ну да. делаешь dw.Retrieve() и получаешь ORA-01000: MAXIMUM OPEN CURSORS EXCEEDED то что datawindow engine или database driver скрывает от вас реализацию не означает что внутри не используются курсоры. "навигационный доступ", хех, спасибо повеселили "пережиток прошлого" сходите на форум Оракла и выскажите свою точку зрения. интересно будет почитать ответы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2007, 19:52 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
ЗоринАндрейну да. делаешь dw.Retrieve() и получаешь ORA-01000: MAXIMUM OPEN CURSORS EXCEEDED то что datawindow engine или database driver скрывает от вас реализацию не означает что внутри не используются курсоры. Интересно всё это. А как же знаменитые block reads (то бишь datawindow ими знаменито)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2007, 06:46 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
Просто обьявлять курсор напрямую - дурной тон, а используются они в любом случае - как часть реализции самого SQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2007, 09:23 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
Мудрецы! Нужно выбрать одну запись из таблицы. Подскажите, пожалуйста, что будет работать быстрее: 1. Datastore и ретрайв аргумент. 2. Конструкция в скрипте: SELECT * INTO x FROM y WHERE a='q'; 3. Конструкция в скрипте: OPEN c; FETCH c INTO x; CLOSE c; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2007, 10:26 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
AStadnikПодскажите, пожалуйста, что будет работать быстрее: 1. Datastore и ретрайв аргумент. 2. Конструкция в скрипте: SELECT * INTO x FROM y WHERE a='q'; 3. Конструкция в скрипте: OPEN c; FETCH c INTO x; CLOSE c; Первое и второе будет работать одинаково с точки зрения СУБД, за исключением того, что в DataStore можно поместить вызов хранимой процедуры и тем самым сэкономить на построении плана исполнения запроса. С точки зрения PB конструкция с DataStore более ресурсоемкая. Курсор будет более ресурсоемкий с точки зрения СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2007, 10:47 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
Вообще-то все зависит от СУБД (и того кто ее настраивал) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2007, 14:20 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
spas2001Вообще-то все зависит от СУБД (и того кто ее настраивал) В данном случае от настройки бд ничего не зависит. Наверное :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2007, 12:36 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
Локшин Марк AStadnikПодскажите, пожалуйста, что будет работать быстрее: 1. Datastore и ретрайв аргумент. 2. Конструкция в скрипте: SELECT * INTO x FROM y WHERE a='q'; 3. Конструкция в скрипте: OPEN c; FETCH c INTO x; CLOSE c; Первое и второе будет работать одинаково с точки зрения СУБД, за исключением того, что в DataStore можно поместить вызов хранимой процедуры и тем самым сэкономить на построении плана исполнения запроса. С точки зрения PB конструкция с DataStore более ресурсоемкая. Курсор будет более ресурсоемкий с точки зрения СУБД. Почему для варианта №3 курсор будет ресурсоемкий? Ведь насколько я понял dw тоже используют курсоры. Чем они отличаются с точки зрения бд? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2007, 12:38 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
AStadnikПочему для варианта №3 курсор будет ресурсоемкий? Ведь насколько я понял dw тоже используют курсоры. Чем они отличаются с точки зрения бд? DataWindow далеко не всегда использует курсоры, и это зависит скорее не от СУБД, а от интерфейса доступа к СУБД. Например для Native interface к MS SQL и OLE DB никаких курсоров не используется. Если же используются курсоры, то будет примерно как вариант №3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2007, 14:04 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
ФилиппА как же знаменитые block reads (то бишь datawindow ими знаменито)? Филипп! я поискал по гуглю фразу datawindow "block reads", и нашёл только ссылку на этот же форум, на сообщение 2003-го года.. больше ничего! даже в патенте datawindow искали с товарищем эти слова и не нашли.. что это за такая особенность datawindow -- block reads ? и кстати, ну а какже ещё можно считать таблицу из БД, кроме как получить result set на основе SELECT-а (с типом курсора для ODBC SQL_CURSOR_FORWARD_ONLY, SQL_CURSOR_STATIC, SQL_CURSOR_KEYSET_DRIVEN, SQL_CURSOR_DYNAMIC), и курсором по нему считать все данные? я, конечно, говорю только о считывании данных, не об обновлении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2007, 14:19 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
savosin_sergey ФилиппА как же знаменитые block reads (то бишь datawindow ими знаменито)? Филипп! я поискал по гуглю фразу datawindow "block reads", и нашёл только ссылку на этот же форум, на сообщение 2003-го года.. больше ничего! даже в патенте datawindow искали с товарищем эти слова и не нашли.. что это за такая особенность datawindow -- block reads ? и кстати, ну а какже ещё можно считать таблицу из БД, кроме как получить result set на основе SELECT-а (с типом курсора для ODBC SQL_CURSOR_FORWARD_ONLY, SQL_CURSOR_STATIC, SQL_CURSOR_KEYSET_DRIVEN, SQL_CURSOR_DYNAMIC), и курсором по нему считать все данные? я, конечно, говорю только о считывании данных, не об обновлении. Локшин Марк AStadnikПочему для варианта №3 курсор будет ресурсоемкий? Ведь насколько я понял dw тоже используют курсоры. Чем они отличаются с точки зрения бд? DataWindow далеко не всегда использует курсоры, и это зависит скорее не от СУБД, а от интерфейса доступа к СУБД. Например для Native interface к MS SQL и OLE DB никаких курсоров не используется. Если же используются курсоры, то будет примерно как вариант №3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2007, 19:00 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
Филипп Локшин МаркНапример для Native interface к MS SQL и OLE DB никаких курсоров не используется. кусок трейса который я здесь приводил сделан на MSS драйвере. там присутствует FETCH NEXT. то есть что-то там фетчится, но это не курсор ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2007, 20:15 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
ну эта, я ж не знаю что вы там трейсали, может у вас код в RetrieveRow event есть... а вот цитатка (старая): Using Oracle - if a function returns a string PB will prepare a 4kb buffer for it. Therefore the number of records retrieved per block read is only 8 records depending on the block size (default 32k). <snip> In addition, embedded SQL (cursors or procedures) that returns multiple rows will force PB will make a roundtrip to the database for each fetch(row) in the resulting recordset. However, PB will read one block at the time by if I put the same SQL statement into a datastore. For example - Reading a 32KB block of data with 2200 Rows and a roundtrip delay of 800 ms using a datastore that reads the whole block will only take a few seconds. However, calling an embedded cursor declaration and make use of a fetch statement take 29 minutes. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2007, 21:12 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
>>Филипп! я поискал по гуглю фразу datawindow "block reads", и нашёл только ссылку на этот же форум, на сообщение 2003-го года.. больше ничего! даже в патенте datawindow искали с товарищем эти слова и не нашли.. поишите, с товарищем, в helpe pb по слову blocking ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2007, 11:51 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
Про то и говорилось при использовании dw (в любом случае используются внутренние курсоры - без них ни один sql-оператор не работает) через осi гонится стрим, в случае испльзования embed-sql такая фишка не прокатывает, а от настройки баз зависит многое , особенно план выполнения запроса (видел как люди втупую прописывают хинты, что не является правильным) вместо того чтобы провести анализ, но это уже больше не девелоперские заморочки, в основном только DBA может оценить картину в целом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2007, 13:44 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
из help: Block (DirectConnect and Adaptive Server Enterprise) DBParm parameter .... The Block DBparm parameter applies only to declared cursors and not to DataWindow objects. ... похоже что DW не использует все таки курсоры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2007, 15:20 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
ruhaиз help: Block (DirectConnect and Adaptive Server Enterprise) DBParm parameter .... The Block DBparm parameter applies only to declared cursors and not to DataWindow objects. ... похоже что DW не использует все таки курсорыBlock (ODBC, OLE DB, and Oracle) Description For those interfaces that support it, Block specifies the cursor blocking factor when connecting to a database. The blocking factor determines the number of rows that a DataWindow object can fetch from the database at one time. Using the Block parameter can improve performance when accessing a database in PowerBuilder.похоже что DW использует все таки курсоры Block (DirectConnect and Adaptive Server Enterprise) Description Specifies the internal blocking factor used by the Sybase Client Library (CT-Lib) interface when declaring a cursor . The blocking factor determines the number of rows fetched from the database at one time when CT-Lib makes a physical request for data. The Block DBParm parameter applies only to declared cursors and not to DataWindow objects. а в CT-Lib даже таакие продвинутые курсоры что используют block reads которыми знаменит datawindow. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2007, 15:30 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
А все таки .... если используют то почему в етом варианте: Block (DirectConnect and Adaptive Server Enterprise) DBParm parameter параметр DBParm применяется только для курсоров и не прокативает для dw ? ведь по вашему DW работает на основе курсоров, а значит DBParm должен применятся и там и там . или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2007, 16:34 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
Выше посмотри - там все написано ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2007, 16:40 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
ВЕРНЁМСЯ К НАЧАЛУ: авторКак с помощью курсора заполнить data window ‘dw_1’ ? курсор работает, НО КАК ПОЛУЧЕННОЕ РЕЗУЛЬТИРУЮЩЕЕ МНОЖЕСТВО РАСПЕЧАТАТЬ ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2007, 18:06 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
АЛИГАТОРВЕРНЁМСЯ К НАЧАЛУ: авторКак с помощью курсора заполнить data window ‘dw_1’ ? курсор работает, НО КАК ПОЛУЧЕННОЕ РЕЗУЛЬТИРУЮЩЕЕ МНОЖЕСТВО РАСПЕЧАТАТЬ ? засунуть в ж... datawindow? :-)))))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2007, 19:18 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
Блин, он точно издевается dw.Print() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2007, 08:23 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
он просто приколист, насколько я понял: в dw курсором выбирает данные, а потом использую курсор update ... where current of хочет записать изменения в базу :)) интересно а что будет если в запросе курсора нет order by ? или изменится количество записей ? :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2007, 09:49 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
ruhaон просто приколист нет, он просто АЛИГАТОР и ЕЛЕНА_ОЛЯ. А еще HOST_LAS. Ну или просто Владимир2 Voitovych (Владимир Войтович). В общем, без него, этот форум уже бы умер =) А, ну конечно еще Светик Шульман (SvetaSh) с eyo poniatnimi voprosami =) Ну это я так, не по злому. Просто заметки на полях... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2007, 11:37 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
АЛИГАТОРВЕРНЁМСЯ К НАЧАЛУ: авторКак с помощью курсора заполнить data window ‘dw_1’ ? курсор работает, НО КАК ПОЛУЧЕННОЕ РЕЗУЛЬТИРУЮЩЕЕ МНОЖЕСТВО РАСПЕЧАТАТЬ ? Владимир2 не так прост: вопросы в виде японских коротких стихов.. забыл, как они называются, хаку что ли. вот только раздражают оформление вопросов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2007, 12:39 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
АЛИГАТОРВЕРНЁМСЯ К НАЧАЛУ: авторКак с помощью курсора заполнить data window ‘dw_1’ ? курсор работает, НО КАК ПОЛУЧЕННОЕ РЕЗУЛЬТИРУЮЩЕЕ МНОЖЕСТВО РАСПЕЧАТАТЬ ? когда Владимир2 превращается в АЛИГАТОРа, невольно хочется превратиться в Крокодила Данди =) он походу оборотень =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2007, 13:06 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
ЗоринАндрейкусок трейса который я здесь приводил сделан на MSS драйвере. там присутствует FETCH NEXT. то есть что-то там фетчится, но это не курсор ;-) похоже что DW использует все таки курсоры Гм, что Sybase понимает под FETCH NEXT одному ему и известно. Вы вот приведите запрос, который в SQL profiler'е под MSS будет показывать open cursor ...fetch ... close. Слабо? Даже если поставить Rows as needed, то курсора не будет хотя тут уж можно было ожидать. Я вот не понимаю, вы что, все здесь думаете что с сервера только курсорами данные забирать можно? А типа простой SELECT уже отменили? Кстати, как по-вашему должен действовать сервер при простом SELECT'е? Запулить по сети весь ответ сразу в удобном ему темпе не задумываясь о том слушает его клиент или нет, успевает ли он переварить порции информации которые ему посылаются или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2007, 20:49 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
Марк, ты, по-моему, невнимательно читал ветку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 08:29 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
>>Гм, что Sybase понимает под FETCH NEXT одному ему и известно. Вы вот приведите запрос, который в SQL profiler'е под MSS будет показывать open cursor ...fetch ... close. Слабо? у меня такое не выходит. запросы DW и курсоры PB идут в SQL profiler'е одним select`ом. единственный способ добится open cursor ... close - ето открыть в pb Interactive SQL и в нем написать open cursor ...fetch ... close, тогда и в profiler'е будет ето отображено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 09:54 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
ruhaу меня такое не выходит. запросы DW и курсоры PB идут в SQL profiler'е одним select`ом. единственный способ добится open cursor ... close - ето открыть в pb Interactive SQL и в нем написать open cursor ...fetch ... close, тогда и в profiler'е будет ето отображено. А у меня очень даже выходит, например Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. spas2001 Марк, ты, по-моему, невнимательно читал ветку Что конкретно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 10:31 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
Локшин МаркА типа простой SELECT уже отменили? Что такое простой SELECT ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 11:48 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
AStadnikЧто такое простой SELECT ? http://msdn2.microsoft.com/en-gb/library/aa216157(sql.80).aspx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 12:49 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
Локшин Марк ЗоринАндрейкусок трейса который я здесь приводил сделан на MSS драйвере. там присутствует FETCH NEXT. то есть что-то там фетчится, но это не курсор ;-) похоже что DW использует все таки курсоры Гм, что Sybase понимает под FETCH NEXT одному ему и известно. Марк, ты чего? Тебе в отпуск не пора? Я собственно о том же. DW может использовать курсор, а может и не использовать. Что там внутри движка используется или не используется мы можем судить только по косвенным признакам. В Оракловом драйвере курсоры точно используются. Наличие block reads не исключает курсора как видно на примере CT-Lib. Но рассуждения об анахронизме и навигационном доступе выглядят достаточно наивно. Локшин МаркВы вот приведите запрос, который в SQL profiler'е под MSS будет показывать open cursor ...fetch ... close. Слабо? Не будет показывать и будет прав. В профайлере ты что-то подобное можешь увидеть только при использовании серверных курсоров. Которые можно отключить в DBParm ServerCursor='NO'. Локшин МаркЯ вот не понимаю, вы что, все здесь думаете что с сервера только курсорами данные забирать можно? А типа простой SELECT уже отменили? Я вот не понимаю к чему эти вопросы? Кто говорил что ТОЛЬКО курсорами? Локшин МаркКстати, как по-вашему должен действовать сервер при простом SELECT'е? Запулить по сети весь ответ сразу в удобном ему темпе не задумываясь о том слушает его клиент или нет, успевает ли он переварить порции информации которые ему посылаются или нет? Сервер сам ничего не посылает. А как именно это происходит зависит от драйвера БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 13:07 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
Локшин Марк ruhaу меня такое не выходит. запросы DW и курсоры PB идут в SQL profiler'е одним select`ом. единственный способ добится open cursor ... close - ето открыть в pb Interactive SQL и в нем написать open cursor ...fetch ... close, тогда и в profiler'е будет ето отображено. А у меня очень даже выходит, например Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. И что этот код покажет в профайлере при ServerCursor='NO' ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 13:08 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
ЗоринАндрейИ что этот код покажет в профайлере при ServerCursor='NO' ? А какая мне разница что он там при этом покажет? Просили курсор - получили. Утверждалось же что ruhaединственный способ добится open cursor ... close - ето открыть в pb Interactive SQL и в нем написать open cursor ...fetch ... close, тогда и в profiler'е будет ето отображено Собственно для этого тот пример и был приведен. Кроме того, этот ServerCursor вроде достаточно новая вещь. ЗоринАндрейЯ собственно о том же. DW может использовать курсор, а может и не использовать. Что там внутри движка используется или не используется мы можем судить только по косвенным признакам. Я это понял несколько иначе в свете твоего сообщения http://www.sql.ru/forum/actualthread.aspx?tid=393655&pg=1#3780670 , а пассажи о навигационном доступе не моего авторства. Но про отпуск - это тема :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 13:56 |
|
||
|
|

start [/forum/topic.php?all=1&fid=15&tid=1337328]: |
0ms |
get settings: |
9ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
191ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 513ms |

| 0 / 0 |
