|
|
|
isnull ...
|
|||
|---|---|---|---|
|
#18+
Будет-ли выполнятся select внутри isnull в случаях: 1. если используется конструкция: Код: plaintext 1. 2. если используется конструкция: Код: plaintext 1. 2. 3. ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2004, 22:43 |
|
||
|
isnull ...
|
|||
|---|---|---|---|
|
#18+
Ну это достаточно просто проверить... Делаем функцию: Код: plaintext 1. 2. 3. 4. И зовем ее: Код: plaintext 1. 2. 3. 4. 5. 6. И получам вполне приличную картинку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2004, 23:33 |
|
||
|
isnull ...
|
|||
|---|---|---|---|
|
#18+
В булевых операциях ASA приоритетность всегда будут иметь сначала запросы, потом функции, далее обычные булевые условия. Так что для пункта 1 SELECT будет выполнен по любому. Для пункта 2 все будет зависеть от подзапроса. Если он не обращается к полям главного запроса, то он будет один раз выполнен и уже полученный результат использован в запросе. Если же он ссылается на главный запрос, то будет организован subquery, который будет вызван для каждой записи главного запроса, что с точки зрения производительности не есть гуд. Для таких случаев рекомендуется перенести подзапрос в FROM и соединить тем же LEFT JOIN. Ну и почаще смотреть план запросов в ISQL - в идеале в планах subquery быть не должно, для этого в первую очередь не стоит как раз увлекаться совать подзапросы в выражения :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2004, 00:40 |
|
||
|
isnull ...
|
|||
|---|---|---|---|
|
#18+
Блин, на любой из моих сегодняшних вопросов можно ответить самому. Я знаю. Но я вторую ночь на работе и мне не до экспериментов :(. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2004, 00:42 |
|
||
|
isnull ...
|
|||
|---|---|---|---|
|
#18+
Сочувствую. Желаю побыстрее вернуться в реальную жизнь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2004, 00:56 |
|
||
|
isnull ...
|
|||
|---|---|---|---|
|
#18+
ASCRUSЕсли он не обращается к полям главного запроса т.е. в предикате на него не ссылаются? ASCRUSДля таких случаев рекомендуется перенести подзапрос в FROM и соединить тем же LEFT JOIN. Э-э-э, не понял. я, вообще-то имел ввиду следующую ситуацию: Код: plaintext 1. 2. 3. 4. ASCRUSНу и почаще смотреть план запросов в ISQL ... "пусть будет проклят тот день, когда я сел за баранку этого пылесоса..." © :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2004, 00:56 |
|
||
|
isnull ...
|
|||
|---|---|---|---|
|
#18+
авторт.е. в предикате на него не ссылаются? То есть подзапрос внутри себя не использует ссылки на алиасы и поля главного запроса. авторкак ее надо преобразовать? Код: plaintext 1. 2. P.S. А вообще то по этом запросу могу сто пудово сказать, что явно налицо нарушения нормализации форм и непродуманная структура БД, так как при правильной проектировке соединений таблиц таким способом в запросах просто не должно быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2004, 01:24 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=32628273&tid=2014324]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 268ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...