|
Помочь оптимизировать запрос | ☑ | ||
---|---|---|---|---|
0
dfaa
30.07.11
✎
12:15
|
есть запрос
////////////////////////////////////////////////////// ВЫБРАТЬ ЗначенияСвойствОбъектов.Значение КАК Акция, ЗначенияСвойствОбъектов.Объект ПОМЕСТИТЬ Акция ИЗ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов ГДЕ ЗначенияСвойствОбъектов.Объект = &Объект И ЗначенияСвойствОбъектов.Свойство.Наименование = "Акция" ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЗначенияСвойствОбъектов.Значение КАК Новинка, ЗначенияСвойствОбъектов.Объект ПОМЕСТИТЬ Новинка ИЗ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов ГДЕ ЗначенияСвойствОбъектов.Объект = &Объект И ЗначенияСвойствОбъектов.Свойство.Наименование = "Новинка" ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЗначенияСвойствОбъектов.Значение КАК ХитПродаж, ЗначенияСвойствОбъектов.Объект ПОМЕСТИТЬ ХитПродаж ИЗ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов ГДЕ ЗначенияСвойствОбъектов.Объект = &Объект И ЗначенияСвойствОбъектов.Свойство.Наименование = "Хит продаж" ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЗначенияСвойствОбъектов.Значение, ЗначенияСвойствОбъектов.Объект ПОМЕСТИТЬ Цена ИЗ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов ГДЕ ЗначенияСвойствОбъектов.Объект = &Объект И ЗначенияСвойствОбъектов.Свойство.Наименование = "Последняя цена" ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЕСТЬNULL(Акц.Акция, ЛОЖЬ) КАК Акция, ЕСТЬNULL(Новин.Новинка, ЛОЖЬ) КАК Новинка, ЕСТЬNULL(ХитПрод.ХитПродаж, ЛОЖЬ) КАК ХитПродаж, ЕСТЬNULL(Цена.Значение, ЛОЖЬ) КАК ПоследняяЦена ИЗ Акция КАК Акц ЛЕВОЕ СОЕДИНЕНИЕ Новинка КАК Новин ПО Акц.Объект = Новин.Объект ЛЕВОЕ СОЕДИНЕНИЕ ХитПродаж КАК ХитПрод ПО Акц.Объект = ХитПрод.Объект ЛЕВОЕ СОЕДИНЕНИЕ Цена КАК Цена ПО Акц.Объект = Цена.Объект ///////////////////////////////////////////////////////// Скорость выполнения запроса 0,5 сек. как его оптимизировать до выполнения хотя бы 0.2 сек ? |
|||
1
Reaper_1c
30.07.11
✎
12:19
|
Солько записей во временных таблицах?
|
|||
2
dfaa
30.07.11
✎
12:31
|
порядка 50 000 в каждой
|
|||
3
Prikum
30.07.11
✎
12:36
|
(2) А индексировать таблицы кто будет?
|
|||
4
Prikum
30.07.11
✎
12:37
|
(0) и что за убогость " И ЗначенияСвойствОбъектов.Свойство.Наименование = "Последняя цена" "?
|
|||
5
dfaa
30.07.11
✎
12:45
|
(4) если есть предложения напиши конкретно что бы ты изменил, рассмотрю любой вариант
|
|||
6
Prikum
30.07.11
✎
12:46
|
(5) Я тебе уже все предложения выложил или ты хочешь чтобы я за тебя переписал запрос?
|
|||
7
Prikum
30.07.11
✎
12:47
|
+(6) в (4) было, что так обычно не пишут, только го_в_нокодеры, сам подумай, что будет, если какая то зараза случайно поменяет наименование?
|
|||
8
rs_trade
30.07.11
✎
12:50
|
+(7) кошерно делать реквизит с видом, например перечисления со значениями, акция, херакция. и выбирать по нему.
|
|||
9
dfaa
30.07.11
✎
12:50
|
(7) по поводу индексирования таблиц не совсем тебя понимаю. не подскажешь где можно за это почитать, или как в запросе это сделать
|
|||
10
Prikum
30.07.11
✎
12:52
|
(9) Типа СП забанен? Или ты не знаешь про "ИНДЕКСИРОВАТЬ ПО" для временных таблиц? Может быть тогда конструктор поможет?
|
|||
11
rs_trade
30.07.11
✎
12:53
|
(0) а нафига вообще тебе дались эти 0.3 сек?
|
|||
12
dfaa
30.07.11
✎
12:53
|
(10) да не совсем знаком с "индексировать по"
|
|||
13
Злопчинский
30.07.11
✎
12:54
|
(11) да он запрос в цикле крутит наверное...
|
|||
14
Prikum
30.07.11
✎
12:55
|
(11) Это сейчас 0.3, а что будет потом?
|
|||
15
Prikum
30.07.11
✎
12:55
|
(13) 5 баллов, тоже об этом подумал.
|
|||
16
Prikum
30.07.11
✎
12:56
|
(12) Открой конструктор запросов и все поймешь или ты просто не знаешь, что такое индексы и для чего они нужны?
|
|||
17
dfaa
30.07.11
✎
13:02
|
(16) индексировать нужно каждое поле или только номер строки ?
|
|||
18
Reaper_1c
30.07.11
✎
13:03
|
(17) индексировать нужно поля, по которым построено условие соединения.
|
|||
19
Reaper_1c
30.07.11
✎
13:04
|
И от цикла избавься. Или запрос не ты писал?
|
|||
20
Prikum
30.07.11
✎
13:06
|
(17) Где ты у себя увидел номер строки? в (18) все сказали.
|
|||
21
Reaper_1c
30.07.11
✎
13:09
|
Сижу вот я и думаю, что станет его запрос долше с инексами выполняться... нужно не индексы накладывать а цикл выпиливать быстро, решительно.
|
|||
22
0xFFFFFF
30.07.11
✎
13:09
|
А цикл да, нужно убирать.
|
|||
23
Prikum
30.07.11
✎
13:10
|
(21) а где вы там цикл увидели?Пока это только догадки
|
|||
24
0xFFFFFF
30.07.11
✎
13:11
|
Причем там делов то скорее всего
Заменить ЗначенияСвойствОбъектов.Объект = &Объект на ЗначенияСвойствОбъектов.Объект В (&СпОбъектов) Даже если потом алгоритм в цикле какой то супернавороченный - проще слить результат запроса по списку объектов в МенеджерВременныхТаблиц и работать с ним. |
|||
25
0xFFFFFF
30.07.11
✎
13:11
|
И еще нафига соединения по Объект, если Объект один?
|
|||
26
0xFFFFFF
30.07.11
✎
13:12
|
Короч, запрос в топку
|
|||
27
Prikum
30.07.11
✎
13:13
|
(26) там вообще помоему вырвали кусок кода
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |