|
Оптимизация заспроса для ускорения обработки | ☑ | ||
---|---|---|---|---|
0
rs1c
27.02.13
✎
10:02
|
Доброго дня.
Есть регистр накоплений около 600 000 записей. База работает на SQL. Сделал простой запрос с 1 параметром, ковырял минут 15. Как можно оптимизировать поиск. В запросе всегда будет только 1 параметр для поиска. |
|||
1
rs_trade
27.02.13
✎
10:06
|
(0) Положенные регламенты для обсуживания базы выполняются?
|
|||
2
Wobland
27.02.13
✎
10:06
|
параметр сувать в параметры виртуальной таблицы
|
|||
3
cViper
27.02.13
✎
10:08
|
(0) На этом поле есть индекс?
|
|||
4
rs1c
27.02.13
✎
10:14
|
На поле индекса нет, с базами все ок, это не самый большой регистр :).
Сейчас попробую параметр в вирт таблицу закинуть, что то не подумал :( |
|||
5
rs_trade
27.02.13
✎
10:18
|
(4) Эээ... а щас это условие ГДЕ ?
|
|||
6
Wobland
27.02.13
✎
10:18
|
(5) в ГДЕ ;)
|
|||
7
Maxus43
27.02.13
✎
10:19
|
запрос в студию
|
|||
8
На стороне добра
27.02.13
✎
10:21
|
выкладывай запрос
|
|||
9
Maxus43
27.02.13
✎
10:22
|
щас там как ГДЕ ПОДСТРОКА(Наименование,1,14) ПОДОБНО &Парам
:) |
|||
10
Полотенчик
27.02.13
✎
10:29
|
Запрос!.. Запрос!.. - упрашивали дети (с)
|
|||
11
H A D G E H O G s
27.02.13
✎
10:31
|
(9) пффффф.
Где ТоварыНаСкладах.Регистратор.Ссылка.Дата<&ДатаСреза Как то так. |
|||
12
Maxus43
27.02.13
✎
10:32
|
(11)
ТоварыНаСкладах.Регистратор.Ссылка.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&Трулала) |
|||
13
rs1c
27.02.13
✎
10:34
|
"ВЫБРАТЬ
| ГруппыСтелажей.ИдКомплекта |ИЗ | РегистрНакопления.ГруппыСтелажей.Обороты(, , , ИдКомплекта= ИдКомплекта) КАК ГруппыСтелажейОбороты"; Сделал так, отрабатывает примерно секунд 30. Криво? |
|||
14
Wobland
27.02.13
✎
10:34
|
(12) ТоварыНаСкладах.Регистратор.Ссылка.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (ВЫБРАТЬ ГДЕ Наименование ПОДОБНО &Трулала)
|
|||
15
Reset
27.02.13
✎
10:36
|
(13) ИдКомплекта= ИдКомплекта
Всегда истина) |
|||
16
Reset
27.02.13
✎
10:37
|
нет вру, исключается когда ИдКомплекта is null ;D
|
|||
17
Maxus43
27.02.13
✎
10:39
|
(13) тут уже от объёма зависит... врятли ускорить при таких параметрах. Период ограничивай
|
|||
18
rs1c
27.02.13
✎
10:41
|
Ну сейчас по скорости вроде лучше стало. Период ограничить невозможно так как этот регистр как раз для сверки служит и там нужно ползать по всем записям.
Сейчас думаем как оптимизировать этот регистр, чтоб хоть как то разгрузить его. |
|||
19
Широкий
27.02.13
✎
10:41
|
(13) Попробуй как вариант обратиться к реальной таблице, а не к виртуальной
|
|||
20
H A D G E H O G s
27.02.13
✎
10:42
|
(18) Измерение индексирвовано?
|
|||
21
chelentano
27.02.13
✎
10:42
|
ответ в (15)
|
|||
22
Широкий
27.02.13
✎
10:42
|
(20) Не конечно , иначе бы не тупило
|
|||
23
Reset
27.02.13
✎
10:43
|
(18) Регистр оборотный или остатков? Сделайте оборотный
|
|||
24
Широкий
27.02.13
✎
10:43
|
ИдКомплекта= ИдКомплекта - тут точно параметр не передается?
|
|||
25
rs1c
27.02.13
✎
10:48
|
А проблема оказалась в другом.
Такой запрос: "ВЫБРАТЬ | ГруппыСтелажей.ИдКомплекта |ИЗ | РегистрНакопления.ГруппыСтелажей.Обороты(, , , ИдКомплекта= ИдКомплекта) КАК ГруппыСтелажейОбороты"; он выкидывает все поле этого регистра не учитывая параметр, вот и глюки. т.е. в ТЗ все 600 000, а не 1 запись.... Чет я напортачил с параметрами... |
|||
26
Maxus43
27.02.13
✎
10:49
|
бггг... ИдКомплекта = &ИдКомплекта
|
|||
27
Reset
27.02.13
✎
10:49
|
(25) Лол, а я думал что пошутил
|
|||
28
rs_trade
27.02.13
✎
10:50
|
(20)(22) Платформа по умолчанию индексирует.
|
|||
29
rs1c
27.02.13
✎
10:50
|
Maxus43 - прям в точку попал! Влет запрос то работает.
|
|||
30
Maxus43
27.02.13
✎
10:51
|
(28) и что? никто не мешает убрать индексирование. Более того - например в РС ведущие измерения нельзя индексировать вобще
|
|||
31
Maxus43
27.02.13
✎
10:51
|
(29) дак мы реально думали что ты скопипастил криво. никому в голову в релае не пришло что так написать можно)
|
|||
32
rs1c
27.02.13
✎
10:52
|
Коллеги. 0,46 секунды выполняется запрос. Все пучком, криворукий я неправильно задал параметр.
|
|||
33
rs1c
27.02.13
✎
10:52
|
Извините, за беспокойство а я то уже совсем подумал дело гиблое :(
|
|||
34
SherifSP
27.02.13
✎
10:55
|
(0) Прямой запрос?
|
|||
35
rs1c
27.02.13
✎
10:56
|
Такой запрос:
"ВЫБРАТЬ | ГруппыСтелажей.ИдКомплекта |ИЗ | РегистрНакопления.ГруппыСтелажей.Обороты(, , , ИдКомплекта=&ИдКомплекта) КАК ГруппыСтелажейОбороты"; Вот так и все просто впуливает. |
|||
36
H A D G E H O G s
27.02.13
✎
10:56
|
(30) Они индексированны уже.
А по умолчанию - ничего не индексирует. |
|||
37
rs_trade
27.02.13
✎
11:03
|
(30) Я не про галочку индексировать. А про индексы которые создает платформа как только ты создаешь измерение.
|
|||
38
hhhh
27.02.13
✎
11:07
|
(18) да, попробуй проверенный вариант:
ИдКомплекта= &ИдКомплекта |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |