|
Вопрос по оператору JOIN
|
|||
---|---|---|---|
#18+
Слушайте, а поиск-то на сайте поломали, да? Только через Google что-то получилось... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2013, 18:50 |
|
Вопрос по оператору JOIN
|
|||
---|---|---|---|
#18+
Cygapb-007Совершенно согласен, и повторюсь - понять структуру первого запроса легче, чем структуру второго, и для этого, сюрприз:)), не требуется разбирать структуру базы.Конечно же вы правы: (далее сарказм) 1. Когда смотрят структуру обычно судорожно ищут код ... код процедур (никто же типа вью не пишет) чтоб попытаться понять смысл. 2. Когда пишут систему, никогда не думают как она заработает и как будет работать при наработке данных, и как при предсказуемом расширении. 3. Каждый раз пишут запрос с нуля, и, сюрприз, запросы отличаются (в разных процедурах) и тогда начинаешь смотреть данные, спрашивать - а каков правильный смысл, FK-шек нет же на таблах. Чесно, я бы с радостью хотел писать без LEFT , но: 1. оптимизатор запросов глуп как проблка не на столько гипер умный, чтобы понимать такие банальности всё. 2. Не всякую задачу можно к FK свести. И хоть JOIN и LEFT JOIN дают один результат, но не повесить ограничение, и получается что формально запросы разные (для скуля). Поэтому давайте я уточню - LEFT я имел ввиду в большей части для VIEW (объектной части). Cygapb-007А вопросы оптимизации времени выполнения могут возникнуть только при реально долгом времени выполнения запроса)Ага, пока в жо не стрельнёт даже не будем думать об оптимизации? Правило разработчика: структура системы/базы пишется, сюрприз, под запросы/нужды, а не под топорную объектную модель. Так что "как" оно будет работать, как ни парадоксально, нужно понимать ещё до того как опишешь "что". Всё должно работать быстро для всех задач, нужно же управлять нагрузкой, её временем проявления. Cygapb-007И еще раз повторюсь, в проекте был использован второй вариант, потому что не знал (не подумал?) об альтернативных вариантах:)Незнание в квадрате? "Знай свой продукт. Иначе какой ты разработчик." 1-е правило "минимизации" Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Смотрим планы. Как раз уже в самих запросах (в процедурах) как раз нормально (как положено), это может очень неплохо сказываться на оптимизации и плане. Ну это когда запросы специализированные (а не стандартное мясо). Я предупредил. PS: Надеюсь на тон мы не реагируем. Закалка. ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2013, 19:19 |
|
Вопрос по оператору JOIN
|
|||
---|---|---|---|
#18+
VRafaelДа, но по какой-то причине его никто не используетНеправда. Я использую. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2013, 19:38 |
|
Вопрос по оператору JOIN
|
|||
---|---|---|---|
#18+
VRafaelGloryЭто не разный синтаксис, это один и тот же документированный синтаксис пример дает разные результаты на других данных Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32.
и не такое бывает, если менять join-ы left join @t1 t1 почему то превратился в join @t1 t1 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2013, 19:53 |
|
|
start [/forum/topic.php?fid=46&gotonew=1&tid=1706971]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
12ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 255ms |
total: | 391ms |
0 / 0 |