|
условное "отключение" left join
|
|||
---|---|---|---|
#18+
Вот, допусти, есть left join: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Вообще-то, когда я пишу условие x.b != 0 and y.a = x.a, тем самым я кагбы хочу сказать, что в случае когда x.b=0, я бы вообще не хотел чтобы происходил какой-либо доступ к Y. Но, судя по плану, у оптимизатора другие мысли на этот счет: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Как добиться того, чтобы доступ к "приджоенным" таблицам не осуществлялся вовсе в зависимости от условия, на основе данных из таблиц, уже "просмотренных" (ну, если допустим LEFT JOIN-ов несколько) ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 16:08 |
|
условное "отключение" left join
|
|||
---|---|---|---|
#18+
--Eugene--, т.е. что-то вроде этого: Код: plsql 1.
? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 16:41 |
|
условное "отключение" left join
|
|||
---|---|---|---|
#18+
Код: plsql 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. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 16:42 |
|
условное "отключение" left join
|
|||
---|---|---|---|
#18+
--Eugene--, не совсем понял что надо но мож вместо on x.b != 0 достаточно where x.b != 0 ...... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 16:45 |
|
условное "отключение" left join
|
|||
---|---|---|---|
#18+
SY, 36 rows selected. так задумано? ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 16:51 |
|
условное "отключение" left join
|
|||
---|---|---|---|
#18+
SY Код: plsql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 17:08 |
|
условное "отключение" left join
|
|||
---|---|---|---|
#18+
Stax так задумано? Упс: Код: plsql 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. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 17:12 |
|
условное "отключение" left join
|
|||
---|---|---|---|
#18+
Stax мож вместо on x.b != 0 достаточно where x.b != 0 Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 17:23 |
|
|
start [/forum/topic.php?fid=52&msg=39889849&tid=1881851]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 282ms |
total: | 427ms |
0 / 0 |