|
|
|
Оптимизация регистра или запроса
|
|||
|---|---|---|---|
|
#18+
8.1 дописанное УПП Есть регистр накопления с видом остатки. Делаю по нему следующий запрос: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Запрос выполняется ~20 секунд, по оборотам аналогичный запрос работает ещё дольше. При этом другие запросы, в том числе и аналогичный по регистру ПартииТоваровНаСкладах практически мгновенно. В регистре НезавершенноеПроизводствоБухгалтерскийУчет 7 миллионов записей, в ПартииТоваровНаСкладах примерно столько же записей. Измерение Заказ, проиндексировано, тестировал в консоли запросов, результат выполнения запроса 2-10 строк в зависимости от заказа. Очень хочется уменьшить время выполнения запроса. Что можно предпринять? В связи с чем может быть такая разница в скорости выполнения запросов между ПартииТоваровНаСкладах и НезавершенноеПроизводствоБухгалтерскийУчет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 11:41 |
|
||
|
Оптимизация регистра или запроса
|
|||
|---|---|---|---|
|
#18+
>Измерение Заказ, проиндексировано а по порядку следования оно какое в регистре? Его бы ближе к началу пододвинуть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 11:52 |
|
||
|
Оптимизация регистра или запроса
|
|||
|---|---|---|---|
|
#18+
Господин ПЖа по порядку следования оно какое в регистре? Его бы ближе к началу пододвинуть По предварительной оценке дало существенное ускорение. Ещё потестирую. Запрос.Текст = "ВЫБРАТЬ | ТоварыНаСкладахОстатки.Склад, | ТоварыНаСкладахОстатки.Номенклатура, | ТоварыНаСкладахОстатки.Качество |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки(, Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОстатки"; В данном случае нарушено требование 2. В условии отсутствует отбор по первому полю индекса (Склад). Такой запрос не сможет выполниться оптимально. Для его выполнения серверу СУБД придется перебирать (сканировать) все записи таблицы. Время выполнения этой операции напрямую зависит от количества записей в таблице остатков регистра и может быть очень большим (и будет увеличиваться с ростом количества данных). Варианты оптимизации: * Проиндексировать измерение «Номенклатура» * Поставить измерение «Номенклатура» первым в списке измерений. Будьте внимательны при использовании этого метода. В конфигурации могут присутствовать другие запросы, которые могут замедлиться в результате этой перестановки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 12:51 |
|
||
|
Оптимизация регистра или запроса
|
|||
|---|---|---|---|
|
#18+
Господин ПЖ>Измерение Заказ, проиндексировано а по порядку следования оно какое в регистре? Его бы ближе к началу пододвинуть Да, спасибо, Господин ПЖ, это сильно улучшило ситуацию. Скорость выросла в разы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2010, 06:56 |
|
||
|
|

start [/forum/topic.php?fid=28&msg=36742923&tid=1522175]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
151ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 440ms |

| 0 / 0 |
