Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проблема с оптимизацией IS NOT NULL
|
|||
|---|---|---|---|
|
#18+
Nitro_Junkie, авторВ любом случае этот запрос у вас не выполнится, потому как план с nested loop будет, я дополнил это уже в статье. это потому что планы с NL никогда не выполняются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 11:51 |
|
||
|
Проблема с оптимизацией IS NOT NULL
|
|||
|---|---|---|---|
|
#18+
TaPaKNitro_Junkie, авторВ любом случае этот запрос у вас не выполнится, потому как план с nested loop будет, я дополнил это уже в статье. это потому что планы с NL никогда не выполняются? Если там 10к записей то нет. Я не дождался во всяком случае выполнения вот такого запроса: Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 12:04 |
|
||
|
Проблема с оптимизацией IS NOT NULL
|
|||
|---|---|---|---|
|
#18+
shipmentDetail.id%1000 извращение ещё то, вы как будто специально ставите сервер в позу своими запросами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 12:07 |
|
||
|
Проблема с оптимизацией IS NOT NULL
|
|||
|---|---|---|---|
|
#18+
Konst_OneshipmentDetail.id%1000 извращение ещё то, вы как будто специально ставите сервер в позу своими запросами Тут любое условие где >10к записей подойдет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 12:08 |
|
||
|
Проблема с оптимизацией IS NOT NULL
|
|||
|---|---|---|---|
|
#18+
Nitro_Junkie, и на какую оптимизация Вы рассчитываете в этом условии? Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 12:11 |
|
||
|
Проблема с оптимизацией IS NOT NULL
|
|||
|---|---|---|---|
|
#18+
Nitro_Junkieпотому как план с nested loop будетСерьезно? Код: 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. 33. 34. 35. 36. 37. 38. 39. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ЗЫ: Гарантированный NL будет, если в в apply или в функции будет select top(...) ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 12:15 |
|
||
|
Проблема с оптимизацией IS NOT NULL
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовNitro_Junkie, и на какую оптимизация Вы рассчитываете в этом условии? Код: sql 1. На то что hash join будет. Как если грубо говоря сделать: Код: sql 1. 2. 3. 4. 5. А если быть точным, вот так, как делает lsFusion: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Это все есть в статье, к которой тут все норовят придраться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 12:16 |
|
||
|
Проблема с оптимизацией IS NOT NULL
|
|||
|---|---|---|---|
|
#18+
invmNitro_Junkieпотому как план с nested loop будетСерьезно? Код: 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. 33. 34. 35. 36. 37. 38. 39. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ЗЫ: Гарантированный NL будет, если в в apply или в функции будет select top(...) ... Гарантированный NL в данном случае будет (а не вообще). Когда у вас есть параметр, для которого таблицы и предиката = нет (есть только на >, < типа остатка / задолженности на дату как в примере). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 12:19 |
|
||
|
Проблема с оптимизацией IS NOT NULL
|
|||
|---|---|---|---|
|
#18+
Nitro_Junkie, авторкак делает lsFusion Хм, это очень плохой запрос, поднять его производительность можно только методом грубой силы (оборудованием). В нем есть и сортировки, и просмотры, предполагаю, что и параллельный план выполнения не может быть для него построен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 12:33 |
|
||
|
Проблема с оптимизацией IS NOT NULL
|
|||
|---|---|---|---|
|
#18+
Nitro_JunkieГарантированный NL в данном случае будет (а не вообще). Когда у вас есть параметр, для которого таблицы и предиката = нетКогда нет предиката эквивалентности как раз и будет гарантиролванный NL, что для join, что для apply. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 12:37 |
|
||
|
Проблема с оптимизацией IS NOT NULL
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовNitro_Junkie, авторкак делает lsFusion Хм, это очень плохой запрос, поднять его производительность можно только методом грубой силы (оборудованием). В нем есть и сортировки, и просмотры, предполагаю, что и параллельный план выполнения не может быть для него построен. Ну он точно лучше чем базовый (который вешает все намертво). И хорошо параллелится (с чего вдруг он не должен этого делать). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 12:49 |
|
||
|
Проблема с оптимизацией IS NOT NULL
|
|||
|---|---|---|---|
|
#18+
invmNitro_JunkieГарантированный NL в данном случае будет (а не вообще). Когда у вас есть параметр, для которого таблицы и предиката = нетКогда нет предиката эквивалентности как раз и будет гарантиролванный NL, что для join, что для apply. Когда есть предикат эквивалентности то и UDF и APPLY не нужны. Можно построить обычный VIEW, просто с join'ить его а Join Predicate Push Down все сам сделает. А смысл пункта в статье именно в таких параметрах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 12:51 |
|
||
|
Проблема с оптимизацией IS NOT NULL
|
|||
|---|---|---|---|
|
#18+
Nitro_JunkieКогда есть предикат эквивалентности то и UDF и APPLY не нужны.А когда нету, то нужны? Вы просто не знаете как решать подобные задачи. Код: 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. Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 13:29 |
|
||
|
Проблема с оптимизацией IS NOT NULL
|
|||
|---|---|---|---|
|
#18+
invmNitro_JunkieКогда есть предикат эквивалентности то и UDF и APPLY не нужны.А когда нету, то нужны? Вы просто не знаете как решать подобные задачи. Код: 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. Код: sql 1. 2. 3. 4. 5. Это вы к чему? Я имел ввиду что если бы запрос был на равенство date, то ни UDF ни APPLY не нужны были бы, можно было бы VIEW и JOIN обойтись. Ну и в том что вы кинули тот же дурацкий план с nested loops: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 14:14 |
|
||
|
Проблема с оптимизацией IS NOT NULL
|
|||
|---|---|---|---|
|
#18+
Nitro_JunkieНу и в том что вы кинули тот же дурацкий план с nested loopsПлан не дурацкий, а нормальный для вашей задачи. Ибо другого не будет. Предложенные модификации позволят, при наличии соответствующих индексов, уменьшить объем перелопачиваемых данных. Проблема у вас не в NL и плохости SQL, а в выбранной модели данных - отсутствует таблица текущего наличия. О чем уже не один раз писалось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 16:10 |
|
||
|
Проблема с оптимизацией IS NOT NULL
|
|||
|---|---|---|---|
|
#18+
invmотсутствует таблица текущего наличия Что за таблица текущего наличия? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 16:45 |
|
||
|
Проблема с оптимизацией IS NOT NULL
|
|||
|---|---|---|---|
|
#18+
Nitro_JunkieЧто за таблица текущего наличия?Таблица, где хранятся текущие остатки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 16:49 |
|
||
|
Проблема с оптимизацией IS NOT NULL
|
|||
|---|---|---|---|
|
#18+
invmNitro_JunkieЧто за таблица текущего наличия?Таблица, где хранятся текущие остатки. Так мне нужны остатки на дату. А дата может быть и год назад. Чем мне текущие остатки то помогут? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 17:01 |
|
||
|
Проблема с оптимизацией IS NOT NULL
|
|||
|---|---|---|---|
|
#18+
Nitro_Junkieinvmпропущено... Таблица, где хранятся текущие остатки. Так мне нужны остатки на дату. А дата может быть и год назад. Чем мне текущие остатки то помогут? Откройте для себя Регистр, а не изобретайте велосипед на треугольных колёсах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 17:06 |
|
||
|
Проблема с оптимизацией IS NOT NULL
|
|||
|---|---|---|---|
|
#18+
4d_monsterNitro_Junkieпропущено... Так мне нужны остатки на дату. А дата может быть и год назад. Чем мне текущие остатки то помогут? Откройте для себя Регистр, а не изобретайте велосипед на треугольных колёсах. Это в Oracle или в MS SQL как называется? И даже если бы он был, чем мне он в этом запросе поможет? Ну не будет UNION ALL, но проблема то останется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 17:14 |
|
||
|
|

start [/forum/topic.php?fid=46&gotonew=1&tid=1687411]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
11ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
96ms |
get tp. blocked users: |
2ms |
| others: | 262ms |
| total: | 442ms |

| 0 / 0 |
