|
![]() |
#1 |
Участник
|
Цитата:
Может стоит почитать почему сделано так "дебильно"? Про кэширование, про оптимизацию и прочий дебилизм... ![]() Цитата:
Сообщение от egorych
![]() 2. Да, это не ODBC - это стандартный Oracle Client API, самый низкоуровневый (а значит с меньшими накладными расходами) метод доступа. Кстати MS тоже такое имеет, и причем начиная с 2005 работает по своему протоколу, ну очень шустрому! ТОлько вот использовать его видимо религия не позволяет!
![]() |
|
![]() |
#2 |
Участник
|
Цитата:
Покажите, где почитать, может просветление на меня сойдет ;-) Только вряд-ли там будет написано - "дети, используйте курсоры на сервере и будет вам щасте" Попробуйте на любом форуме по MSSQL показать трассировку запросов и послушайте, что вам скажут на счет разработчиков. |
|
![]() |
#3 |
Участник
|
Цитата:
![]() начните отсюда http://axapta.mazzy.ru/lib/literals_vs_placeholders/ далее http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx далее везде http://social.msdn.microsoft.com/Sea...execution&ac=8 Цитата:
вы случайно не Volochkova? |
|
|
За это сообщение автора поблагодарили: alex55 (1). |
![]() |
#4 |
Участник
|
Не вижу связи с Prepared execution. Все это прекрасно работает и без использования серверных курсоров, через то-же ADO
Цитата:
Сообщение от mazzy
![]() здесь? http://sql.ru/forum/actualthread.asp...d=650982&pg=10
вы случайно не Volochkova? ![]() Настройте ночной reindex - в инете полно примеров скриптов. Последний раз редактировалось egorych; 20.08.2009 в 17:55. |
|
|
За это сообщение автора поблагодарили: ena_ax (1). |
![]() |
#5 |
Moderator
|
Цитата:
Тут надо сделать некоторую интерлюдию, заметив что во времена проталкивания на рынок клиент-серверной архитектуры, отцы-основатели рассказывали что в светлом комму^H^H^H^H^H клиент-серверном будущем, с системой будут работать исключительно сферические пользователи в вакууме, которые перед каждым открытием, ну например, формы номенклатурного справочника, будут весело и радостно указывать номенклатурную группу, фильтр по коду и названию номенклатуры, в общем прилагать все усилия для того чтобы выборка не превышала пары экранов. А любые предположения о том чтобы побровситься по таблице будут вызывать у этих пользователей гневное отторжение, и они будут устраивать демонстрации у местного представительства провинившегося вендора, крича "Курсоры - геть !" и размахивая транспарантами с надписью "FORWARD_ONLY". Естественно, при столкновении с реальной жизнью всем вендорам пришлось рано или поздно обзавестись навигационным доступом (у оракла он, кстати, только в версии 9 появился). Естественно - у всех СУБД навигационный доступ обходиться дороже чем ненавигационный, но иначе пользователей не удовлетворить. В принципе, я могу согласиться с тем, что для небольших таблиц (скажем - настроек профилей разноски) можно было бы не использовать курсоры, а просто вытаскивать таблицы в кэш напрямую. Но поскольку таблицы эти и так небольшие, большого накладяка от курсорного доступа к ним нету. В общем - могу предположить, что в будущих версиях аксапты, для таблиц с fullTable cache сделают выборку без курсора (поскольку курсор там и вправду смысла не имеет). С другой стороны - есть сильнейшее подозрение что заметного выигрыша это не даст... Теперь немножко о том, что было бы если бы аксапта ПОЛНОСТЬЮ отказалась бы от использования курсоров. Я когда-то занимался развертыванием версий 2.5 и 3.0 на Оракле. Поскольку и та и другая версия должны были поддерживать Оракл 8ой версии, scrollable курсоры, появившиеся в версии 9i в них не использовались (Кстати - не знаю, используются ли они в более поздних версиях Аксапты, сам на оракле не внедрял, а спросить не у кого ![]() Ну и наконец - где-то в документации Оракла, английским по белому сказано что при использовании scrollable cursor, сервер БД сохраняет результаты выборки в области памяти, а если выборка большая, то во временной таблице. Что в общем, мало отличается от поведения серверных курсоров SQL Server. Так что избавиться от курсоров, на самом деле, можно но только 1. Для случая маленьких таблиц и нормальных пользователей. 2. Для случая любых таблиц и сферических пользователей в вакууме. ![]() P.S. Просьба модераторам дискуссию по поводу курсоров и вообще MS SQL vs Oracle вынести в новый топик. |
|
|
За это сообщение автора поблагодарили: mazzy (2), zemlyn (2), Logger (6), gl00mie (3), _scorp_ (4). |
Теги |
oracle, курсор, производительность, sql server |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|