Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ODBC душит производительность Access<->Oracle??
|
|||
|---|---|---|---|
|
#18+
Есть приложение на Access которое использует курсоры. (OpenRecordset) Читает с Oracle 8.1.7 Odbc линк Вижу что медленно работает. Начал копать. Простая программа на полный скан таблицы в 500 мегабайт дала удивительные результаты. В не зависимости от мощьности ПК мы имеет скорость в сетевом интерфейсе 80000 байт\с на прием и 60000 байт на отправку. Причем при переходе на гораздо мощный ПК клиента скорость не увеличилась. Сервер - свободен, сетка тоже (можно копировать файлы на приличной скорости 5мб\с с сервера - сетка 100мегабит в т.ч. на клиентах) Взял утилиту OracleSQL plus которая работает без Odbc и запустил курсор (программа ниже) и надоже - скорость возрасла до 250000 байт\с на прием и на отправку уменшилась до 30000 т.е. Прием возрос. На более мощном ПК скорость приема увеличилась до 500000 байт\с. Т.е. имеем возрастание на порядок Можно ли как нибудь оптимизировать работу ODBC? Это для SQLPlus SET AUTOPRINT ON SET TERMOUT OFF SET HEADS OFF VARIABLE VREC REFCURSOR BEGIN OPEN :VREC FOR SELECT * FROM xxx.tab; END; / Это программа которую вызываем из формы Private Sub Start_Click() Dim MyDbs As Database Dim Rc As Recordset Set MyDbs = CurrentDb Set Rc = MyDbs.OpenRecordset("xxx_tab") Dim FStr As String Dim Rcount As Long Dim I As Long Rcount = 0 Rc.MoveFirst Rc.CacheSize = 50 Rc.FillCache While Not Rc.EOF 'And Not Rcount = 1000 For I = 1 To Rc.Fields.Count FStr = FStr & CStr(Nz(Rc.Fields(I - 1))) & "|" Next I FStr = "" Rc.MoveNext Rcount = Rcount + 1 If Rcount Mod 50 = 0 Then Rc.CacheStart = Rc.Bookmark Rc.FillCache Me.MyTxt.Caption = "Îáðàáîòàíî " & Rcount & " çàïèñåé" Me.Repaint End If Wend End Sub Сергей С Сергей С ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2004, 16:53 |
|
||
|
ODBC душит производительность Access<->Oracle??
|
|||
|---|---|---|---|
|
#18+
Мой опыт связки Access<->Oracle говорит о том, что проблемы скорей всего не в odbc-драйвере, а в тупом Access'e. Если при установке связи из Access с таблицей Oracle у таблицы в Oracle есть primary key, Access его "понимает". В последующем этот дебильный (других слов найти трудно) Access тянет из Oracle данные группами по 10 строк запросами примерно такого вида: Код: plaintext 1. 2. 3. 4. Ни о какой производительности при таком подходе нет и речи. Если PK на таблицу в Oracle нет, Access ведет себя поразумней. Поэтому можно попробовать удалить временно в Oracle PK перед присоединением таблицы, а затем создать его в Oracle заново. Если PK на таблицу нет, Access спрашивает, какие столбцы будут его (primary key) составлять. Ответить надо cancel. Это может помочь. И вообще, связка Oracle-Access у меня вызывает нервную дрожь с приступами ненависти к дяде Билли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2004, 21:18 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=32625814&tid=1554077]: |
0ms |
get settings: |
11ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
75ms |
get topic data: |
12ms |
get forum data: |
4ms |
get page messages: |
40ms |
get tp. blocked users: |
2ms |
| others: | 226ms |
| total: | 396ms |

| 0 / 0 |
