![]() |
![]() |
![]() |
|
как ускорить процесс записи элементов в справочник? | ☑ | ||
---|---|---|---|---|
0
Rick
08.12.05
✎
12:55
|
нужно записать 250 000 элементов в справочник номенклатуры. выполняется ~18 часов ... хотелось бы ускорить процесс ...
Может стоит применить транзакции? |
|||
1
ymv
08.12.05
✎
12:57
|
Можно, только периродически создавать новую транзакцию, чтобы она не разросталась до безумных размеров.
|
|||
2
Rick
08.12.05
✎
12:58
|
Как думаете, сколько оптимально (хотя бы примерно): 10, 100, 1000 элементов в одной транзакции? С чего начать тестировать?
|
|||
3
Rovan
гуру
08.12.05
✎
13:23
|
(2) 100, 250, 500
|
|||
4
ZolotarevAA
08.12.05
✎
13:26
|
(2) Столько элементов нужно записывать каждый раз, что ли?
|
|||
5
Vozhd
08.12.05
✎
13:35
|
(1) А не поделитесь ли данными замеров скорости записи в зависимости от количества элементов в транзакции (ну и от отсутствия транзакций)?
|
|||
6
Rick
08.12.05
✎
13:36
|
(4)да. Сколько записывать за 1 раз. Там стоит сервер с 4 Гб оперативки.
|
|||
7
romix
модератор
08.12.05
✎
13:41
|
В 7-ке я пишу порциями по 100 или по 1000 в одной транзакции.
НачатьТранзакцию() / ЗафиксироватьТранзакцию() Скорость записи при этом растет на порядки. |
|||
8
Vozhd
08.12.05
✎
13:46
|
(7) А 7-ка и 8-ка работают на одном и том ж движке?
|
|||
9
КПСС
08.12.05
✎
13:51
|
(8) упс )))
|
|||
10
ZolotarevAA
08.12.05
✎
13:58
|
(6) Не уверен, что у всех элементов хоть что-то меняется. Может быть, не каждый элемент надо записывать?
|
|||
11
Rovan
гуру
08.12.05
✎
13:59
|
(8) принцип Транзаций аналогично реализован
|
|||
12
Rovan
гуру
08.12.05
✎
14:00
|
(10) давно на курсах телепатов учишься ? :-)
|
|||
13
Vozhd
08.12.05
✎
14:04
|
(11) А можете кратенько рассказать за счет чего добавление транзакции ускоряет запись? Интересно чисто для общего развития.
|
|||
14
ZolotarevAA
08.12.05
✎
14:05
|
(12) На курсах не учусь. Дорого.
А людей, которые вместо того, чтобы проверить, а надо ли что-то делать, просто делают это, очень много. Я один раз на такую вещь напоролся. Иэлементов там бало около всего-то 15 000 (правда справочник тяжелый). Хватило на раз. |
|||
15
ZolotarevAA
08.12.05
✎
14:06
|
(13) За счет того, что порции действий крупнее. Сначала все делается на локальной машине, потом большой кусок отправляется в БД. Вроде так.
|
|||
16
zxspectrum
08.12.05
✎
14:10
|
(15) Т.е. Лок.машина работает буфером? А если БД на той же машине где и выполняются транзакции, то ускорится процесс?
|
|||
17
PR
08.12.05
✎
14:12
|
Для доков опытно-экспериментальным путем определил примерно 250, для справочников можно и 1000
|
|||
18
Vozhd
08.12.05
✎
14:14
|
(15) Не могли бы Вы описать порядок действий, при котором можно увидеть появление этого самого буфера, в которых собираются эти порции?
|
|||
19
Rovan
гуру
08.12.05
✎
14:17
|
(18) Вот так вопрос ! НАСТОЩИЙ ВОПРОСИЩЕ !
|
|||
20
ZolotarevAA
08.12.05
✎
14:24
|
(16) Ускорится.
|
|||
21
ZolotarevAA
08.12.05
✎
14:25
|
(17) Не согласен. Зависит от нагруженности объектов.
|
|||
22
ZolotarevAA
08.12.05
✎
14:27
|
(18) Вопрос из разряда:
- "Какой у вас компьютер?" - "Самсунг" (надпись на мониторе). |
|||
23
Rick
08.12.05
✎
14:31
|
Я вот все думаю по поводу (10). Это был бы наилучший вариант ... только вот как узнать изменился элемент или нет. Что мне, новый реквизит "контрольная сумма" создавать? :)))
|
|||
24
Rick
08.12.05
✎
14:36
|
хотя это (23) относится уже скорее не к 1с :))
|
|||
25
Rovan
гуру
08.12.05
✎
14:44
|
(23) Если Записать() отработал без ощибок, то всё хорошо. (и если транзакция закрылась)
|
|||
26
PR
08.12.05
✎
14:44
|
(21) Согласен, но я про усредненные значения
|
|||
27
ZolotarevAA
08.12.05
✎
14:52
|
(23) "...Лучше сейчас пАлдня потерять, потом за пять минут долететь." (с) ("Ноги, крялья, хвост").
Подумай, подумай. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |