|
Подскажите еще плиз, по оптимальности запроса
| ☑ |
0
ИсчадиеADO
09.04.14
✎
15:47
|
я ведь правильно понимаю, что
ВЫБРАТЬ
*
ИЗ
МояТаблица
ГДЕ
МояТаблица.Реквизит = &Ссылка
И ВЫБОР КОГДА &Ссылка = ЗНАЧЕНИЕ(Справочник.МойСправочник.ПустаяСсылка)
ТОГДА ЛОЖЬ
ИНАЧЕ ИСТИНА
КОНЕЦ
оптимальнее чем
ВЫБРАТЬ
*
ИЗ
МояТаблица
ГДЕ
ВЫБОР КОГДА &Ссылка = ЗНАЧЕНИЕ(Справочник.МойСправочник.ПустаяСсылка)
ТОГДА ЛОЖЬ
ИНАЧЕ МояТаблица.Реквизит = &Ссылка
КОНЕЦ
?
|
|
1
Chai Nic
09.04.14
✎
15:50
|
С чего это? Думаете, оптимизатор запросов настолько тупой, что не сможет применить индекс при условии внутри ВЫБОР КОГДА?
|
|
2
ИсчадиеADO
09.04.14
✎
15:51
|
(1) не знаю, потому и спрашиваю
|
|
3
Maxus43
09.04.14
✎
15:51
|
имхо - нет, 2-й лучше.
Хотя надо смотреть план запроса, а то это сферический запрос в вакууме
|
|
4
butterbean
09.04.14
✎
15:52
|
а че не
ГДЕ МояТаблица.Реквизит = &Ссылка
И МояТаблица.Реквизит <> ЗНАЧЕНИЕ(Справочник.МойСправочник.ПустаяСсылка)
|
|
5
ИсчадиеADO
09.04.14
✎
15:53
|
(4) вариант :)
(3) дык это в скуль нужно лезть, время...
|
|
6
_fvadim
09.04.14
✎
15:56
|
Объясните дурачку зачем пихать ВЫБОР в ГДЕ ?
|
|
7
butterbean
09.04.14
✎
15:58
|
(6) чтобы отобрать нужные записи из таблицы
|
|
8
_fvadim
09.04.14
✎
16:02
|
(7) это я понял. чем оно лучше (4) ?
|
|
9
_fvadim
09.04.14
✎
16:02
|
Я реально первый раз такое вижу, даж не знал, что так можно.
|
|
10
_fvadim
09.04.14
✎
16:18
|
Прикольно. Работает.
Буду использовать, если нужно будет ещё сильнее уменьшить читаемость запросов :)
|
|