Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Скалярные функции и QUERYTRACEON 8649
|
|||
|---|---|---|---|
|
#18+
Возникла весьма специфическая ситуация. В динамическом коде юзаются динамически создаваемые функции. Проблема в том, что при использовании скалярок мы не получим параллельные планы выполнения. Случаем никто не знает никаких извратов? Как зафорсить параллелизм. Избавиться от функций кикак не получится. Мини репро: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2019, 12:42 |
|
||
|
Скалярные функции и QUERYTRACEON 8649
|
|||
|---|---|---|---|
|
#18+
AlanDenton, никак. Вроде в 2019 же будет проброс скалярки прям в запрос, вот тогда приходите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2019, 12:43 |
|
||
|
Скалярные функции и QUERYTRACEON 8649
|
|||
|---|---|---|---|
|
#18+
Буду тогда думать в сторону инлайн функций думать. Ибо вариантов и вправду ноль. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2019, 12:57 |
|
||
|
Скалярные функции и QUERYTRACEON 8649
|
|||
|---|---|---|---|
|
#18+
или на инлайн перейти... скалярки - нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2019, 12:58 |
|
||
|
Скалярные функции и QUERYTRACEON 8649
|
|||
|---|---|---|---|
|
#18+
AlanDentonСлучаем никто не знает никаких извратов?Если функции приводимы к инлайновым и можно изменить генератор динамики, то генерировать две функции: инлайновую и скалярную на ее основе. И пользоваться либо той, либо другой, в зависимости от надобности. Код: 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. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2019, 13:02 |
|
||
|
Скалярные функции и QUERYTRACEON 8649
|
|||
|---|---|---|---|
|
#18+
declare @s as varchar(10000) set @s='запрос' exec @s еще в 2000м так жили, и неплохо))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2019, 15:22 |
|
||
|
Скалярные функции и QUERYTRACEON 8649
|
|||
|---|---|---|---|
|
#18+
dklim.kzndeclare @s as varchar(10000) set @s='запрос' exec @s еще в 2000м так жили, и неплохо))) перегрелся, несите нового ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2019, 15:24 |
|
||
|
Скалярные функции и QUERYTRACEON 8649
|
|||
|---|---|---|---|
|
#18+
varchar (10000)? exec @s не для выполнения процедур? и все это еще в 2000м? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2019, 15:27 |
|
||
|
Скалярные функции и QUERYTRACEON 8649
|
|||
|---|---|---|---|
|
#18+
авторvarchar(10000) мечты, мечты... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2019, 15:59 |
|
||
|
Скалярные функции и QUERYTRACEON 8649
|
|||
|---|---|---|---|
|
#18+
Я уже не помню, как именно жили Exec 'ползапроса' + ' еще ползапроса' наверное Человек про щяс спращшивает Varchar(10000) щяс нельзя? Я нигде не говорил, что так было в 2000м Жили exec'ом И неплохо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2019, 22:32 |
|
||
|
Скалярные функции и QUERYTRACEON 8649
|
|||
|---|---|---|---|
|
#18+
dklim.kznVarchar(10000) щяс нельзя?Нельзя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2019, 22:56 |
|
||
|
Скалярные функции и QUERYTRACEON 8649
|
|||
|---|---|---|---|
|
#18+
dklim.kznЯ уже не помню, как именно жили Exec 'ползапроса' + ' еще ползапроса' наверное Человек про щяс спращшивает Varchar(10000) щяс нельзя? Я нигде не говорил, что так было в 2000м Жили exec'ом И неплохоВы там закусывайте что ли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2019, 23:16 |
|
||
|
Скалярные функции и QUERYTRACEON 8649
|
|||
|---|---|---|---|
|
#18+
Ах ах, varchat только 8000, пичалька Я не прошел собеседование?) При этом ограничений на длину сцепки вроде как не было, так и нет. На самом деле помню даже ситуацию, когда задача решалась передачей разного кода в хранимую процедуру, которая внутри себя собирала и выполняла exec из этих полученных строк, после всего остального. Хорошие напитки не закусывают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2019, 07:09 |
|
||
|
Скалярные функции и QUERYTRACEON 8649
|
|||
|---|---|---|---|
|
#18+
Кстати про мс-oltp )) Там nc-функция еще методический вариант Теряем параллелизм, но получаем ускорение ее вычисления Для некоторых случаев интереснее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2019, 07:34 |
|
||
|
Скалярные функции и QUERYTRACEON 8649
|
|||
|---|---|---|---|
|
#18+
dklim.kznПри этом ограничений на длину сцепки вроде как не было, так и нет.Нету такого термина в документации, как "сцепка" Никакими операциями (вроде "сцепки") нельзя получить строку varchar длинной более 8000, без приведения к varchar(max) Но команда exec имеет специальный синтаксис: Код: plaintext 1. 2. Т.е. + в этой команде не означает конкатенацию строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2019, 09:36 |
|
||
|
Скалярные функции и QUERYTRACEON 8649
|
|||
|---|---|---|---|
|
#18+
под риск в третий раз не пройти собеседование)) отмечу, что мне кажется))) что у мс как раз сначала был вариант только с переменной, а потом вот эту "специальную форму" добавили, ибо ... но могу врать в соответствии с порядком ознакомления с этим делом (ну и напитками тоже) нам то главное чтобы работало, и быстро (чтобы не было возможности закусывать в промежутках плохие напитки, и посему не изменять правилу только хороших) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2019, 12:02 |
|
||
|
Скалярные функции и QUERYTRACEON 8649
|
|||
|---|---|---|---|
|
#18+
dklim.kznчто мне кажется))) что у мс как раз сначала был вариант только с переменной, а потом вот эту "специальную форму" добавилиМожет и так. Я с 6.0 начинал, в 90-е, по моему, тогда уже были все варианты, но до этого не в курсе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2019, 01:13 |
|
||
|
Скалярные функции и QUERYTRACEON 8649
|
|||
|---|---|---|---|
|
#18+
alexeyvg, ну значит вру, я с 7 начинал но может доводили древние или сначала мне одной переменной хватало собственно, особо используемый механизм - дернуть данные во времянку, там построить индекс, и выполнить запрос индекс и запрос по несуществующей таблице в хранимой процедуре не получатся, так что всё exec'ом один вызов с параметрами - и всё получено клиентом сейчас скорее всего всё иначе, но по сути не сильно лучше, думаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2019, 10:25 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39800842&tid=1687964]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 390ms |

| 0 / 0 |
