Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

​Совсем не понимаю...

18.07.18 18:25
Re: ​Совсем не понимаю...
 
Murr патриот
Murr
в ответ Murr 17.07.18 18:29

Кажется Я вообще ничего не понимаю...


Есть Оракла 10Г на линуксовой машине.

Стоит. Работает. Ну как может так и работает.


Есть несложная процедура обновляющая несколько неприятно больших таблиц.

В результате всех обновлений в интересующей таблице получается 35К записей по 173 поля. Длинна отдельной записи - <5К. Всего около 170 Мб.


Перебрал все возможные варианты чтения и выбрал самый быстрый - датареадером, по отдельным полям, с непосредственным указанием типа - GetString(i), GetNumeric(i), GetDateTime(i).

Процесс загрузки данных занимает 33 минуты... это вместо нескольких часов по филл(дататабле)...

Распределение времени следующее:


Read Time : 00:00:09.9054802

Value Time : 00:32:10.6379357

DT op Time : 00:00:01.8005709


Execution time (FL2DT)00:32:28.2043131

String : 00:04:28.2550130 (00:00:03.1365717/per field)

Numeric : 00:13:45.4187597 (00:00:03.2605435/per field)

DateTime : 00:13:56.9372428 (00:00:03.2190423/per field)


Первая строка - время трансфера с сервера и нарезания на строки.

Вторая строка - время извлечения данных из строки в поля датаров...

Третья строка - время операций с дататабле.

Ниже - распределение времени по типам полей (по сумме 35К записей).


Еще две цифирьки:

Execution time (DT2XML)00:00:11.0342339

Execution time (XML2DT)00:00:06.3511341


Первая строка - время записи схемы и данных (35К строк) из дататабле в файл (на локальный диск)

Вторая строка - время чтения схемы и данных (35Кстрок) из файла в дататабле.

Размер хмл-файла на диске - 250 Мб.


У меня снова тот же вопросик - Что сумели поменять так, что чтение данных в таблицу занимает полчаса вместо 7 секунд?


Я просто на понимаю - что можно было поменять в плане почти автономной Оракле.ДатаАкксесс.Длл чтобы она начала работать на несколько порядков медленнее?

 

Перейти на