|
Подскажите почему запрос жутко тормозит, когда добавляешь условия
| ☑ |
0
Ivan_495
28.06.17
✎
10:32
|
Вот так работает быстро
ВЫБРАТЬ РАЗЛИЧНЫЕ
Участники.Участник КАК Участник,
ЗаказТураУчастники.Ссылка КАК Ссылка
ИЗ
Участники КАК Участники
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказТура.Участники КАК ЗаказТураУчастники
ПО (ЗаказТураУчастники.Ссылка В
(ВЫБРАТЬ ПЕРВЫЕ 3
ЗаказТураУчастникиУ.Ссылка
ИЗ
Документ.ЗаказТура.Участники КАК ЗаказТураУчастникиУ
ГДЕ
ЗаказТураУчастникиУ.Участник = Участники.Участник
УПОРЯДОЧИТЬ ПО
ЗаказТураУчастникиУ.Ссылка.Дата УБЫВ))
|
|
1
Ivan_495
28.06.17
✎
10:32
|
а так тормоза
ВЫБРАТЬ РАЗЛИЧНЫЕ
Участники.Участник КАК Участник,
ЗаказТураУчастники.Ссылка КАК Ссылка
ИЗ
Участники КАК Участники
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказТура.Участники КАК ЗаказТураУчастники
ПО (ЗаказТураУчастники.Ссылка В
(ВЫБРАТЬ ПЕРВЫЕ 3
ЗаказТураУчастникиУ.Ссылка
ИЗ
Документ.ЗаказТура.Участники КАК ЗаказТураУчастникиУ
ГДЕ
ЗаказТураУчастникиУ.Участник = Участники.Участник
УПОРЯДОЧИТЬ ПО
ЗаказТураУчастникиУ.Ссылка.Дата УБЫВ))
ГДЕ
ЗаказТураУчастники.Ссылка.Проведен = ИСТИНА
И ЗаказТураУчастники.Ссылка.Аннулирован = ЛОЖЬ
И ЗаказТураУчастники.Ссылка.ПометкаУдаления = ЛОЖЬ
|
|
2
Вафель
28.06.17
✎
10:38
|
в индексы перестаешь попадать
|
|
3
Fedor-1971
28.06.17
✎
10:40
|
(1) а так?
ГДЕ
ЗаказТураУчастникиУ.Участник =Участники.Участник
И ЗаказТураУчастникиУ.Проведен
И НЕ ЗаказТураУчастникиУ.Аннулирован
И НЕ ЗаказТураУчастникиУ.ПометкаУдаления
УПОРЯДОЧИТЬ ПО
ЗаказТураУчастникиУ.Ссылка.Дата УБЫВ))
для проверки тебе ещё раз добавляется Левое соединение
Проверяй сразу во вложенном запросе
|
|
4
Fedor-1971
28.06.17
✎
10:42
|
3+ ЗаказТураУчастникиУ. -> ЗаказТураУчастникиУ.Ссылка
|
|
5
Ivan_495
28.06.17
✎
10:56
|
(3) так тоже тормозит
|
|
6
Ivan_495
28.06.17
✎
10:56
|
(2) а какие индексы добавить?
|
|
7
Ivan_495
28.06.17
✎
11:04
|
убрал все индексы
отборы сделал на уровне скд
все летает
|
|
8
Feunoir
28.06.17
✎
11:11
|
А зачем одновременно Проведен и НЕ ПометкаУдаления. Оно взаимоисключающее как бы. Поэтому пометку удаления вообще убрать, а добавить индекс по Аннулирован. Хотя индексирование логических реквизитов это фу - селективность никакая. Я бы подумал насчет возможности ограничения по дате.
|
|
9
PCcomCat
28.06.17
✎
11:15
|
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказТура.
Зачем к таблице-то соединяться, если ссылка нужна?
|
|
10
PCcomCat
28.06.17
✎
11:16
|
А то для каждой строки документа проверяешь на вхождение трех первых документов.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший