|
Что оптимизировать, если запрос тупит!!?? | ☑ | ||
---|---|---|---|---|
0
ParinovS
31.01.13
✎
10:52
|
Добрый день! Есть регистр накопления, вид "Остатки" с 3-мя измерениями и 4-мя ресурсами. Создан запрос по всем полям виртуальной таблицы "ОстаткиИОбороты", в параметрах виртуальной таблицы задан только период - 1 день и периодичность "Регистратор". В выборке 218925 записей, запрос отрабатывает 52 сек. Но это за один день, приходится делать выборку и за больший период( пропорциональное увеличение времени). Скажите это нормально? Хочу заметить, что "индексировать" стоит у 2-х измерений из трех (но я то отбора по измерениям не делаю все равно), пересчет индексов и их реструктуризацию проводил, итоги пересчитывал...
|
|||
1
PR
31.01.13
✎
10:52
|
Голову
|
|||
2
НафНаф
31.01.13
✎
10:56
|
а зачем это:
1. 4 ресурса 2. ОстаткиИОбороты по регистратору |
|||
3
Бешеная Нога
31.01.13
✎
10:56
|
зачем тебе такой запрос без отборов? что ты дальше делаешь с полученным результатом запроса?
|
|||
4
ParinovS
31.01.13
✎
11:00
|
(1) трололо, не я это делал, я хочу понять как оптимизировать! (3) и тут отвечу, что не я делал, но требуется получать оргомную простыную с сылкой на документы. т.е. другими словами что 218925 строк из одной виртуальной таблицы выбирается 52 секунды это нормально?????
|
|||
5
PR
31.01.13
✎
11:05
|
(4) При использовании регистратора виртуальная таблица не используется.
|
|||
6
hhhh
31.01.13
✎
11:07
|
(4) убрать регистратор оттуда - это же любому придурку понятно, чего глупые вопросы задаешь?
|
|||
7
ParinovS
31.01.13
✎
11:26
|
(6) я и спрашиваю если запрос выполняется так долго с РЕГИСТРАТОРОМ это нормально??? Я все описал, и меня волнует только то, нормально ли такое повидение и ВСЕ. а если не нормально, то что оптимизировать: железо, СУБД, делать может запрос хитреее (но поля нужны ВСЕ!!!!) НЕужели так трудно ответить, что-то типа того: Да запрос выполняется долго(должен быстрее), посомтри то, посмотри там и т.д. Вот ты, hhhh, придешь к доктору и скажешь, - "Доктор, у меня как то палец плохо двигается, может что с сустовом? может с нервными окончаниями? Может полечить его?" а он тебе "отрезать палец надо - это же любому придурку понятно, чего глупые вопросы задаешь?" hhhh, ты наверно ТОЛЬКО на форуме самоутвержаешься,оскорбляя людей - потому как больше и негде!
|
|||
8
Бешеная Нога
31.01.13
✎
11:27
|
(7) ты совершенно прав
|
|||
9
НафНаф
31.01.13
✎
11:28
|
(5) опять ты понятия путаешь
|
|||
10
Humandra
31.01.13
✎
11:42
|
(0) чтобы ответить, нормально ли это, мало информации
- сколько всего строк в регистре - версия базы (файловая, скл, если второе - то какая СУБД) - какой полный запрос - какое железо для второго пентиума и терабайтной базы - это прекрасный результат. для крутого сервера с кучей ядер, оперативки итп и маленькой базы - медленновато будет, однако :) |
|||
11
Maxus43
31.01.13
✎
11:42
|
запрос в студию
|
|||
12
badboychik
31.01.13
✎
11:42
|
одна польза от этого запроса - им удобно железо тестить. Добавь еще 8 гигов оперативы, прогони, запиши результат. Поставь мощный проц и базу на SSD диск. Запиши результат, отчитайся тут. В общем, продолжай наблюдения.
|
|||
13
Humandra
31.01.13
✎
11:44
|
хотя необходимость такого запроса ставлю под сомнение. Может все же нужно что-то свернуть,а?
|
|||
14
badboychik
31.01.13
✎
11:45
|
||||
15
ParinovS
31.01.13
✎
11:46
|
и так:
1. Запрос ВЫБРАТЬ ОстаткиОстаткиИОбороты.Склад, ОстаткиОстаткиИОбороты.Товар, ОстаткиОстаткиИОбороты.ХозОперация, ОстаткиОстаткиИОбороты.КоличествоНачальныйОстаток, ОстаткиОстаткиИОбороты.КоличествоКонечныйОстаток, ОстаткиОстаткиИОбороты.КоличествоОборот, ОстаткиОстаткиИОбороты.КоличествоПриход, ОстаткиОстаткиИОбороты.КоличествоРасход, ОстаткиОстаткиИОбороты.СуммаНачальныйОстаток, ОстаткиОстаткиИОбороты.СуммаКонечныйОстаток, ОстаткиОстаткиИОбороты.СуммаОборот, ОстаткиОстаткиИОбороты.СуммаПриход, ОстаткиОстаткиИОбороты.СуммаРасход, ОстаткиОстаткиИОбороты.БухСуммаНачальныйОстаток, ОстаткиОстаткиИОбороты.БухСуммаКонечныйОстаток, ОстаткиОстаткиИОбороты.БухСуммаОборот, ОстаткиОстаткиИОбороты.БухСуммаПриход, ОстаткиОстаткиИОбороты.БухСуммаРасход, ОстаткиОстаткиИОбороты.СуммаНДСНачальныйОстаток, ОстаткиОстаткиИОбороты.СуммаНДСКонечныйОстаток, ОстаткиОстаткиИОбороты.СуммаНДСОборот, ОстаткиОстаткиИОбороты.СуммаНДСПриход, ОстаткиОстаткиИОбороты.СуммаНДСРасход ИЗ РегистрНакопления.Остатки.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Период, , ) КАК ОстаткиОстаткиИОбороты |
|||
16
badboychik
31.01.13
✎
11:47
|
и рейд из SSD дисков, чтоб минимум 1-2 ГБ/сек скорость чтения была
|
|||
17
ParinovS
31.01.13
✎
11:49
|
база скульная, версия платформы 8.2.13.219 база весит пордяка 10 Гб, скуль 2008. Конфа самописка, нечно похожее на Розницу. Сервак быстр 16 ядер, 48 Гб диски у админов надо уточнять, но явно не медленные.
|
|||
18
ParinovS
31.01.13
✎
11:53
|
Сорри ,я не тот запрос прислал) это я уже считал время если убрать периодичность "Регистратор" вот исходный:
ВЫБРАТЬ ОстаткиОстаткиИОбороты.Склад, ОстаткиОстаткиИОбороты.Товар, ОстаткиОстаткиИОбороты.ХозОперация, ОстаткиОстаткиИОбороты.КоличествоНачальныйОстаток, ОстаткиОстаткиИОбороты.КоличествоКонечныйОстаток, ОстаткиОстаткиИОбороты.КоличествоОборот, ОстаткиОстаткиИОбороты.КоличествоПриход, ОстаткиОстаткиИОбороты.КоличествоРасход, ОстаткиОстаткиИОбороты.СуммаНачальныйОстаток, ОстаткиОстаткиИОбороты.СуммаКонечныйОстаток, ОстаткиОстаткиИОбороты.СуммаОборот, ОстаткиОстаткиИОбороты.СуммаПриход, ОстаткиОстаткиИОбороты.СуммаРасход, ОстаткиОстаткиИОбороты.БухСуммаНачальныйОстаток, ОстаткиОстаткиИОбороты.БухСуммаКонечныйОстаток, ОстаткиОстаткиИОбороты.БухСуммаОборот, ОстаткиОстаткиИОбороты.БухСуммаПриход, ОстаткиОстаткиИОбороты.БухСуммаРасход, ОстаткиОстаткиИОбороты.СуммаНДСНачальныйОстаток, ОстаткиОстаткиИОбороты.СуммаНДСКонечныйОстаток, ОстаткиОстаткиИОбороты.СуммаНДСОборот, ОстаткиОстаткиИОбороты.СуммаНДСПриход, ОстаткиОстаткиИОбороты.СуммаНДСРасход ИЗ РегистрНакопления.Остатки.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Регистратор, , ) КАК ОстаткиОстаткиИОбороты |
|||
19
Humandra
31.01.13
✎
11:54
|
- сколько всего строк в регистре
|
|||
20
Humandra
31.01.13
✎
11:54
|
еще - где этот запрос выполняется. Не в СКД, часом ли.
|
|||
21
badboychik
31.01.13
✎
11:56
|
можно еще перевести запрос на прямой T-SQL и выполнять напрямую к скулю
|
|||
22
ParinovS
31.01.13
✎
11:59
|
посмотрел в SQL табличке - всего 2 млн записей записей.
|
|||
23
Humandra
31.01.13
✎
12:00
|
я бы поймала запрос в Profiler в MS SQL, и попробовала бы выполнить в скулевской консоли.
Поймайте, и сюда выложите, ок? 52 сек даже для такого монстра - все же многовато, ИМХО. |
|||
24
Леха Дум
31.01.13
✎
12:01
|
(18) а где в выборке сам регистратор собственно?
|
|||
25
Humandra
31.01.13
✎
12:03
|
(24) Кстати, да! Зачем периодичность до регистратора, если регистратор не используете?
|
|||
26
ParinovS
31.01.13
✎
12:06
|
(23) через минут 5-10 думаю смогу отловить. (24) ну даже без регистратора все и так печально выполняется. Видимо я когда возвращал запрос к исходному виду, поле не добавил..
|
|||
27
Леха Дум
31.01.13
✎
12:07
|
(26) если ты не выбираешь в отчет регистратор, то и периодичность ставь "ПЕРИОД"
|
|||
28
ParinovS
31.01.13
✎
12:10
|
нет, регистратор как раз таки нужен. Я просто в запросе его не вывел. (27) если бы так все просто было))))
|
|||
29
Леха Дум
31.01.13
✎
12:12
|
(28) еще вопрос - как дальше ты эти 218 тыс. строк использовать собираешься?
|
|||
30
Rovan
гуру
31.01.13
✎
12:14
|
(0) итоги по регистру рассчитаны по какой день ?
|
|||
31
iceman2112
31.01.13
✎
12:16
|
нормально. Все ответы в книге "Проф разработка 8.0" или 2012 (новенькая)
|
|||
32
ParinovS
31.01.13
✎
12:16
|
(29) использую не я, использовали разработчики ( в случае отборов, отборы формируются - подставляются параметры в виртуальную таблицу) но если без отборов делать, то отчет дико долго формируется. Но сам отчет бухгалтерам нравится (и то что можно играться с настройками по отбору в регистраторе)
|
|||
33
ParinovS
31.01.13
✎
12:17
|
(30) по 31.01.2013
|
|||
34
Fragster
гуру
31.01.13
✎
12:20
|
а зачем автору 218925 записей?
|
|||
35
Rovan
гуру
31.01.13
✎
12:22
|
(17) сколько рабочих процессов 1С ?
|
|||
36
Rovan
гуру
31.01.13
✎
12:23
|
(34) видимо бухи любят так делать...выводят отчет в 200 тыс. строк ...ждут 10 минут, что бы найти там 1 строку и посмотреть какая там сумма
|
|||
37
ParinovS
31.01.13
✎
12:24
|
(34) не могу сказать, но надеюсь отчет полностью переделывать не придется :) (35) - один
|
|||
38
ИС-2
naïve
31.01.13
✎
12:28
|
(0) прежде всего проанализируй как закрывается регистр. Скорее всего по какому-то из выбираемых ресурсов регистр не закрыт.
ОстаткиИобороты по регистратору это фактически тож самое, что и реальная таблица - может она будет работать быстрее. Если это не помогает, то у ключевых измерений включи индексирование, расположи их в порядке частоты обращения стрелками вверх-вниз (если часто получаешь доступ к измерению склад, то он должен быть выше измерения номенклатура) |
|||
39
ParinovS
31.01.13
✎
12:36
|
я пока не хочу понимать, зачем и почему используется такая выборка. Сам отчет нравится, не нравится - время его выполнения. Хочется понять - почему так долго отрабатывает запрос и уже дальше разбираться. Если запрос так долго отрабатывает потому что такой запрос на таких данных долго отрабатывает, буду переделывать, но а если что-то не так с базой или с машиной или со скулем?
|
|||
40
Cube
31.01.13
✎
12:37
|
(39) А покажи-ка нам пример отчета, то , что видят бухи...
|
|||
41
Rovan
гуру
31.01.13
✎
12:42
|
(37) на 16 ядрах 1 процесс..... добавь еще 5 !
|
|||
42
ParinovS
31.01.13
✎
12:44
|
(40) блин, я ж в пейнте запарюсь циферки закрашивать :)
(41) не в моей власти, с админами буду решать вопрос - но идея хорошая. В общем, мне уже кажется, что стоит переделать отчет... |
|||
43
ParinovS
31.01.13
✎
12:48
|
да, господа, спасибо большое за попытки помочь! :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |