|
Быстрое удаление записей из непериодического РС по условию | ☑ | ||
---|---|---|---|---|
0
aleks-id
28.09.11
✎
12:01
|
есть непериодический РС ПрайсыПоставщиков не подчиненный регистратору, измерение НоменклатураПоставщика (справочник НоменклатураПоставщиков), ресурсы Цена и Остаток. у элемента справочника НоменклатураПоставщиков есть реквизит - Владелец (Справочник Партнеры). необходимо перед записью новых прайсов поставщика удалить все старые записи по реквизиту Владелец измерения НоменклатураПоставщика. вариантов вижу 2
1. запрос отбирает НоменклатуруПоставщиков по заданному Партнеру из справочника НоменклатураПоставщика. при обходе результата запроса последовательно находим и удаляем запись из РС. 2. запрос отбирает записи из РС по всем Партнерам кроме заданного, результат загружаем в НаборЗаписей и записываем одним махом. собственно вопрос - какой из способов быстрее? записей может быть более 200 тыс... |
|||
1
DrShad
28.09.11
✎
12:05
|
создаешь НЗ с отбором, читаешь, в него пустую таблицу и записываешь
|
|||
2
aleks-id
28.09.11
✎
12:07
|
(1) не прокатит. записей может быть овер 9000 с разными измерениями. а отбор работает только на равенство.
|
|||
3
hhhh
28.09.11
✎
12:10
|
(2) добавить партнера в измерения регистра и не парить мозг.
|
|||
4
aleks-id
28.09.11
✎
12:13
|
(3) я знаю. но пока имеем то, что есть :(
|
|||
5
Aprobator
28.09.11
✎
12:15
|
запрос - отбираем только нужные записи. Выгружаем в ТЗ. Создаем набор и загружаем ТЗ. При загрузке все старые записи удаляются автоматом.
|
|||
6
aleks-id
28.09.11
✎
12:18
|
(5)>>Создаем набор и загружаем ТЗ
тоесть вариант 2. я собсно так и сделал, но начал уже сомневаться в скорости... |
|||
7
Aprobator
28.09.11
✎
12:18
|
хотя 200 тыс записей. Это еще вопрос что быстрее будет. Сейчас репу почешу.
(6) не дочитал до конца ) |
|||
8
H A D G E H O G s
28.09.11
✎
12:19
|
Прямой запрос в SQL на DELETE со вложенным запросом по владельцу - поставщику.
В запрос - только инвертированный GUID поставщика передать. И фсе. Это если критично долго и планов обмена нет. |
|||
9
hhhh
28.09.11
✎
12:20
|
(7) зависит от количества поставщиков у партнера.
|
|||
10
aleks-id
28.09.11
✎
12:20
|
(8) думал над этим. планы обмена есть, причем этот регистр кочует во все распределенные базы :(
|
|||
11
aleks-id
28.09.11
✎
12:22
|
(9) масло масляное ;)
|
|||
12
H A D G E H O G s
28.09.11
✎
12:22
|
(10) Критично долго?
|
|||
13
aleks-id
28.09.11
✎
12:24
|
(12) пока справляется за 10-15 минут. но дальше будет больше :(
вчера удалял, а в другой базе кто-то перепроведение запустил за квартал. сервак попритух, за ночь моя не отвисла. пришлось застрелить и начать чесать репу. |
|||
14
ptiz
28.09.11
✎
12:25
|
(0) Записывай "одним махов".
200 тыс записей должно проглотить. |
|||
15
hhhh
28.09.11
✎
12:30
|
(12) ну если РИБ, то сразу время умножай на 10.
|
|||
16
guitar_player
28.09.11
✎
12:51
|
(5), (14) а что менеджер печальнее работать будет, если удалить нужно на 3 порядка меньше записей?
|
|||
17
Aprobator
28.09.11
✎
13:39
|
(16) тестить надо, я с ним просто не работал.
|
|||
18
aleks-id
28.09.11
✎
14:48
|
вобщем добавил в РС новое измерение - Поставщик. хорошо хоть записей было чуть более 400к. руки бы поотрывал за такое проектирование...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |