Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как заставить компилятор запроса делать то, что надо, а не то, что ему хочется?
|
|||
|---|---|---|---|
|
#18+
Например, запрос типа select * from table2 where id in (select value from table3) Как заставить сначала выполнить подзапрос и затем только основной запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2009, 12:44 |
|
||
|
Как заставить компилятор запроса делать то, что надо, а не то, что ему хочется?
|
|||
|---|---|---|---|
|
#18+
если не ошибаюсь то вам смотреть в сторону %NOFLATTEN _________________________________ Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2009, 12:56 |
|
||
|
Как заставить компилятор запроса делать то, что надо, а не то, что ему хочется?
|
|||
|---|---|---|---|
|
#18+
Смотрел, %NOFLATTEN, %NOSVSO почувствовал себя как мартышка из басни крылова с очками. Куда их лепить? select * from %NOFLATTEN table2 where id in (select value from table3) или select * from table2 where id in (select %NOFLATTEN value from table3) ? Так и так - не заметил изменения плана. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2009, 13:05 |
|
||
|
Как заставить компилятор запроса делать то, что надо, а не то, что ему хочется?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext PS: ещё не забудьте оптимизировать таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2009, 13:14 |
|
||
|
Как заставить компилятор запроса делать то, что надо, а не то, что ему хочется?
|
|||
|---|---|---|---|
|
#18+
В случае select можно переделать select * from table2 left join table3 on table3.value=table2.id Но мне хочется сделать Update, а при этом join-ы у меня не получается использовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2009, 13:21 |
|
||
|
Как заставить компилятор запроса делать то, что надо, а не то, что ему хочется?
|
|||
|---|---|---|---|
|
#18+
Servit, Подзапрос достаточно оптимален, 0.045 секунды в основном запроса нет никаких условий, кроме выборки по ID из подзапроса. Пробовал написать как вы сказали, но все равно идет по table2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2009, 13:39 |
|
||
|
Как заставить компилятор запроса делать то, что надо, а не то, что ему хочется?
|
|||
|---|---|---|---|
|
#18+
При таком написании никто не мешает использовать обычный JOIN ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2009, 16:00 |
|
||
|
Как заставить компилятор запроса делать то, что надо, а не то, что ему хочется?
|
|||
|---|---|---|---|
|
#18+
Ptn, мне нужен апдейт, а в апдейтах не умею join использовать update from table2 set ... where id in (select value from table3) можно ли сделать без вложенного запроса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2009, 05:34 |
|
||
|
Как заставить компилятор запроса делать то, что надо, а не то, что ему хочется?
|
|||
|---|---|---|---|
|
#18+
Ну тогда как вариант писать программу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2009, 14:48 |
|
||
|
Как заставить компилятор запроса делать то, что надо, а не то, что ему хочется?
|
|||
|---|---|---|---|
|
#18+
Блок А.Н. Код: plaintext 1. 2. 3. 4. Вот почитай ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2009, 15:02 |
|
||
|
Как заставить компилятор запроса делать то, что надо, а не то, что ему хочется?
|
|||
|---|---|---|---|
|
#18+
Неа, не пойдет. Хочу оптимизировать запрос. Он корректный и легкий, просто оптимизатор не понимает, как его обрабатывать. Писать программы, приделывать сбоку хранимые процедуры и т.д. не хочу. Саму задачу решил другим путем - просто сгенерил нужный SQL со всеми идешниками, но это "плохое" решение проблемы, а подобные задачи возникают часто. Хочется понять, как делать правильно, если это возможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2009, 15:21 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=36384402&tid=1558263]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
89ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 285ms |
| total: | 460ms |

| 0 / 0 |
