|
Как эффективно использовать хр. процедуру, возвращающую табличные данные?
|
|||
---|---|---|---|
#18+
iapА почему не для сотни табличных переменных? У него в запросе одна временная таблица #tblHeader, посему достаточно одной переменной, я бы и название оставил @tblHeader... Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 17:09 |
|
Как эффективно использовать хр. процедуру, возвращающую табличные данные?
|
|||
---|---|---|---|
#18+
Alex_TomsУ него в запросе одна временная таблица #tblHeaderА должно быть ни одной! Почему нельзя написать SELECT сразу из MyFunc(), я вот не пойму никак! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 17:12 |
|
Как эффективно использовать хр. процедуру, возвращающую табличные данные?
|
|||
---|---|---|---|
#18+
iapAlex_TomsУ него в запросе одна временная таблица #tblHeaderА должно быть ни одной! Почему нельзя написать SELECT сразу из MyFunc(), я вот не пойму никак! можно предположить, что MyFunc адски тяжелая и человек не хочет обращаться к ней два раза ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 17:15 |
|
Как эффективно использовать хр. процедуру, возвращающую табличные данные?
|
|||
---|---|---|---|
#18+
iapAlex_TomsУ него в запросе одна временная таблица #tblHeaderА должно быть ни одной! Почему нельзя написать SELECT сразу из MyFunc(), я вот не пойму никак! потому что результат этого селекта, используется три раза в запросе ниже, и как переделать этот запрос я не знаю ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 17:17 |
|
Как эффективно использовать хр. процедуру, возвращающую табличные данные?
|
|||
---|---|---|---|
#18+
Shakilliapпропущено... А должно быть ни одной! Почему нельзя написать SELECT сразу из MyFunc(), я вот не пойму никак! можно предположить, что MyFunc адски тяжелая и человек не хочет обращаться к ней два раза все верно) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 17:17 |
|
Как эффективно использовать хр. процедуру, возвращающую табличные данные?
|
|||
---|---|---|---|
#18+
user7777все верно) Верно что ? Что написана тяжелая табличная функция ? Которую теперь надо приткнуть в чудовищно написанный запрос ? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 17:19 |
|
Как эффективно использовать хр. процедуру, возвращающую табличные данные?
|
|||
---|---|---|---|
#18+
При замене #tblHeader на SELECT из MyFunc(), сколько раз выполнится MyFunc()? Если MyFunc() не тормозная, то ваш вариант подойдёт, но как мне кажется тормоза всё же есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 17:20 |
|
Как эффективно использовать хр. процедуру, возвращающую табличные данные?
|
|||
---|---|---|---|
#18+
user7777iapпропущено... А должно быть ни одной! Почему нельзя написать SELECT сразу из MyFunc(), я вот не пойму никак! потому что результат этого селекта, используется три раза в запросе ниже, и как переделать этот запрос я не знаюА почему три раза, а не один? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 17:21 |
|
Как эффективно использовать хр. процедуру, возвращающую табличные данные?
|
|||
---|---|---|---|
#18+
Ну вот, пока отвечал, мысль уже дали... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 17:22 |
|
Как эффективно использовать хр. процедуру, возвращающую табличные данные?
|
|||
---|---|---|---|
#18+
iapuser7777пропущено... потому что результат этого селекта, используется три раза в запросе ниже, и как переделать этот запрос я не знаюА почему три раза, а не один?OUTER APPLY Ваш сервер умеет делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 17:23 |
|
Как эффективно использовать хр. процедуру, возвращающую табличные данные?
|
|||
---|---|---|---|
#18+
iapiapпропущено... А почему три раза, а не один?OUTER APPLY Ваш сервер умеет делать? OUTER APPLY -надо погуглить ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 17:34 |
|
Как эффективно использовать хр. процедуру, возвращающую табличные данные?
|
|||
---|---|---|---|
#18+
user7777тоесть вот так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Во внутренних и внешнем запросах используется группировка без агрегирующей функции. Это удаление дубликатов? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 17:48 |
|
Как эффективно использовать хр. процедуру, возвращающую табличные данные?
|
|||
---|---|---|---|
#18+
Wlr-luser7777тоесть вот так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Во внутренних и внешнем запросах используется группировка без агрегирующей функции. Это удаление дубликатов? прошу прощения, неправильно написал пример, сори вот как-то так Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 18:22 |
|
Как эффективно использовать хр. процедуру, возвращающую табличные данные?
|
|||
---|---|---|---|
#18+
user7777прошу прощения, неправильно написал пример, сори вот как-то так Вы что реально не видите, что вы делаете #tblHeader left join ... #tblHeader inner ... left join ... #tblHeader inner ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 21:52 |
|
Как эффективно использовать хр. процедуру, возвращающую табличные данные?
|
|||
---|---|---|---|
#18+
Alex_Toms1. Поиск в интернете "mssql табличные переменные индексы" даёт массу ссылок, в том числе и на наш форум. 2. Где использовал, там скорость возрастала. Есть ограничение, индексы могу быть ТОЛЬКО уникальные, хотя их можно приспособить и на поля с не уникальными значениями.Основная проблема табличных переменных, это не индексы, а отсутствие статистик. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 22:31 |
|
Как эффективно использовать хр. процедуру, возвращающую табличные данные?
|
|||
---|---|---|---|
#18+
чото мне кажется всё это сворачивается в Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2014, 07:51 |
|
Как эффективно использовать хр. процедуру, возвращающую табличные данные?
|
|||
---|---|---|---|
#18+
LexusRчото мне кажется всё это сворачивается в Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Нет. Потому что два LEFT JOINа. Сумма задвоится (затроится и т.п.). Но можно аггрегировать в подзапросах, а потом LEFT JOIN (OUTER APPLY) Кстати, у Вас получилось одно и то же выражение для qnt1 и qnt2 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2014, 09:09 |
|
Как эффективно использовать хр. процедуру, возвращающую табличные данные?
|
|||
---|---|---|---|
#18+
LexusRчото мне кажется всё это сворачивается в Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
нет, потому что еще связь по полю field, при этом нужно выводить еще те записи из tblDetail2, в которых есть совпадение по полю id2 с #tblHeader, но нет по полю field с tblDetail1...... я уже нашел у себя ошибку в логике , буду переписывать с full join.... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2014, 10:30 |
|
Как эффективно использовать хр. процедуру, возвращающую табличные данные?
|
|||
---|---|---|---|
#18+
Gloryuser7777прошу прощения, неправильно написал пример, сори вот как-то так Вы что реально не видите, что вы делаете #tblHeader left join ... #tblHeader inner ... left join ... #tblHeader inner вы реально ничего реального не предложили ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2014, 10:33 |
|
Как эффективно использовать хр. процедуру, возвращающую табличные данные?
|
|||
---|---|---|---|
#18+
user7777вы реально ничего реального не предложили Нравяться мне такие наезды. Я написал хреновый код. Я вам его не покажу (во всяком случае целиком), про решаемую задачу тоже ничего не расскажу. А вы должны(!) предложить мне реальные(!) способы решения. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2014, 10:35 |
|
Как эффективно использовать хр. процедуру, возвращающую табличные данные?
|
|||
---|---|---|---|
#18+
Gloryuser7777вы реально ничего реального не предложили Нравяться мне такие наезды. Я написал хреновый код. Я вам его не покажу (во всяком случае целиком), про решаемую задачу тоже ничего не расскажу. А вы должны(!) предложить мне реальные(!) способы решения. я не говорю что вы что-то должны, я говорю что вы пишите бесполезные комменты ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2014, 10:53 |
|
Как эффективно использовать хр. процедуру, возвращающую табличные данные?
|
|||
---|---|---|---|
#18+
user7777Gloryпропущено... Нравяться мне такие наезды. Я написал хреновый код. Я вам его не покажу (во всяком случае целиком), про решаемую задачу тоже ничего не расскажу. А вы должны(!) предложить мне реальные(!) способы решения. я не говорю что вы что-то должны, я говорю что вы пишите бесполезные комменты и для того чтоб утверждать что метод хреновый, надо показать лучший ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2014, 10:55 |
|
Как эффективно использовать хр. процедуру, возвращающую табличные данные?
|
|||
---|---|---|---|
#18+
user7777я не говорю что вы что-то должны, я говорю что вы пишите бесполезные комменты Мои комментарии соответствуют уровню ваших вопросов. Из двух плохих запросов нельзя получить один хороший. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2014, 10:55 |
|
Как эффективно использовать хр. процедуру, возвращающую табличные данные?
|
|||
---|---|---|---|
#18+
Gloryuser7777я не говорю что вы что-то должны, я говорю что вы пишите бесполезные комменты Мои комментарии соответствуют уровню ваших вопросов. Из двух плохих запросов нельзя получить один хороший. Ваши комментарии соответствуют уровню " мне нечего делать .... надо кого-то потроллить" ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2014, 11:02 |
|
Как эффективно использовать хр. процедуру, возвращающую табличные данные?
|
|||
---|---|---|---|
#18+
user7777Ваши комментарии соответствуют уровню " мне нечего делать .... надо кого-то потроллить" Вы слишком большого мнения о себе и вашей роли в этом мире. Вы уже сутки пытаетесь из дерьма сделать конфетку с помощью переписывания одной обертки на другую. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2014, 11:06 |
|
|
start [/forum/topic.php?fid=46&msg=38819122&tid=1699846]: |
0ms |
get settings: |
11ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
163ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 279ms |
0 / 0 |