|
|
|
Можно оптимизировать дублирование запроса?
|
|||
|---|---|---|---|
|
#18+
Добрый день! Нужно отличить отсутствие записей в таблице (значение 1) и отсутствие записей удовлетворяющих условию (значение 0). Сделал так (упрощенный пример): Код: plsql 1. 2. 3. 4. 5. 6. 7. возможно сделать одним запросом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2019, 13:53 |
|
||
|
Можно оптимизировать дублирование запроса?
|
|||
|---|---|---|---|
|
#18+
am_sasa, а логика не кривая ? case when exists(select 1 from t where t.id = 10 and t.type ! = 1) then 0 else 1 end ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2019, 14:20 |
|
||
|
Можно оптимизировать дублирование запроса?
|
|||
|---|---|---|---|
|
#18+
123йй, нет, мне нужно отличать отсутствие записей в таблице (значение 1) и отсутствие записей удовлетворяющих условию (значение 0), само условие до лампочки, это только пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2019, 14:25 |
|
||
|
Можно оптимизировать дублирование запроса?
|
|||
|---|---|---|---|
|
#18+
am_sasaэто только примерна выходе у тебя только 0 и 1. Отрицание от "само условие до лампочки", с учетом nullности, удовлетворяет постановке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2019, 14:36 |
|
||
|
Можно оптимизировать дублирование запроса?
|
|||
|---|---|---|---|
|
#18+
-2-, OK. реальное условие t.type is null ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2019, 14:46 |
|
||
|
Можно оптимизировать дублирование запроса?
|
|||
|---|---|---|---|
|
#18+
am_sasa, id=10 -условие которое проверяем Код: 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. ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2019, 15:22 |
|
||
|
Можно оптимизировать дублирование запроса?
|
|||
|---|---|---|---|
|
#18+
Stax, Спасибо, попробую!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2019, 15:53 |
|
||
|
Можно оптимизировать дублирование запроса?
|
|||
|---|---|---|---|
|
#18+
Stax, Супер! То что надо!!! Спасибо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2019, 16:24 |
|
||
|
Можно оптимизировать дублирование запроса?
|
|||
|---|---|---|---|
|
#18+
am_sasaStax, Супер! То что надо!!! Спасибо!!! имхо c exists будет побыстрее, отвечал больше на "возможно сделать одним запросом?" ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2019, 16:48 |
|
||
|
Можно оптимизировать дублирование запроса?
|
|||
|---|---|---|---|
|
#18+
Stax, А теперь представь в таблице миллионы записей c id=10 Код: plsql 1. Например: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2019, 16:54 |
|
||
|
Можно оптимизировать дублирование запроса?
|
|||
|---|---|---|---|
|
#18+
SY, я ж написал, что с exist будет побыстрее если табличка маленькая (скажем 1000 строк) то может и прокатить не знаю, так есть дублирование или нет? Код: 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. ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2019, 17:34 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39759364&tid=1882938]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
12ms |
get forum data: |
4ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 236ms |
| total: | 407ms |

| 0 / 0 |
