powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как передать массив из одной проц. в другую (sql2k) - наиболее производительный
11 сообщений из 11, страница 1 из 1
Как передать массив из одной проц. в другую (sql2k) - наиболее производительный
    #32027296
__a2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как передать массив из одной проц. в другую (sql2k) - интересует наиболее производительный варант.
Использование статическимх таблиц для времменого хранения не предлагать.
...
Рейтинг: 0 / 0
Как передать массив из одной проц. в другую (sql2k) - наиболее производительный
    #32027346
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локальные временные таблицы.
...
Рейтинг: 0 / 0
Как передать массив из одной проц. в другую (sql2k) - наиболее производительный
    #32027350
Andrew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
insert into table exec stor_proc
или
insert into #table exec stor_proc

Если stor_proc результирующий набор возращает, то он попадет в table.
...
Рейтинг: 0 / 0
Как передать массив из одной проц. в другую (sql2k) - наиболее производительный
    #32027367
__a2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 alexeyvg - это не быстрый вариант при интенсивной работе

2 Andrew - как возвращять понятно , но вопрос как ПЕРЕДАТЬ массив в проц.
...
Рейтинг: 0 / 0
Как передать массив из одной проц. в другую (sql2k) - наиболее производительный
    #32027380
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2__a2:
"Не быстрый" по сравнению с каким способом передачи массива?
...
Рейтинг: 0 / 0
Как передать массив из одной проц. в другую (sql2k) - наиболее производительный
    #32027577
__a2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 alexeyvg - Хотелось бы использовать переменные типа table , но их нельзя передавать как параметр. Хочу проверить вариант передачи данных через параметр типа text , потом из него запихать в переменную типа table , и вернуть обратно уже из нее. Мне кажеться это должно быть быстрее чем использование постоянных или временных таблиц.
...
Рейтинг: 0 / 0
Как передать массив из одной проц. в другую (sql2k) - наиболее производительный
    #32027616
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использование постоянных таблиц будет медленнее по многим причинам - их нужно будет очищать; статистика не обновляется и т.д.

Использование временных таблиц будет быстрее передачи данных через параметр типа text и последующего разбора, во много-много раз!
Вы просто не будете делать лишних операций.

create proc proc1
as
create table #t(....)
{создание индексов для #t}
{заполнение #t}
exec proc2
exec proc3
...
go

create proc proc2
as
{использование #t}
go

create proc proc3
as
{использование #t}
go

При этом даже будут использоваться индексы...
...
Рейтинг: 0 / 0
Как передать массив из одной проц. в другую (sql2k) - наиболее производительный
    #32027634
__a2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 alexeyvg
Спорный момент . все операции с временными таблицами будут сохраняться в tempdb ,а это использование диска.
Да , индексы это полезно при большом кол-ве записей.
Передача параметров идет через память , разбор строки с данными тоже в памяти, переменная table похоже тоже только в памяти.
Плюс нет привязки к имени временных таблиц , контроль что таблица создана , больше гибкость и удобство разработки сложных , больших проэктов.

Как пишет BOL:
Consider using table variables instead of temporary tables. Temporary tables are useful in cases when indexes need to be created explicitly on them, or when the table values need to be visible across multiple stored procedures or functions. In general, table variables contribute to more efficient query processing.

По кол-ву операций это будет больше , но скорость определяеться не объемом кода.

До конца эти предположения еще не проверены.
...
Рейтинг: 0 / 0
Как передать массив из одной проц. в другую (sql2k) - наиболее производительный
    #32027652
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, передача из процедуры в процедуру через переменную типа текст невозможна: такую переменную не создать.
Остаётся довольствоваться варчаром, а им много не передать.
...
Рейтинг: 0 / 0
Как передать массив из одной проц. в другую (sql2k) - наиболее производительный
    #32027812
Speshuric
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне в реалях жизни пришлось пользовать динамический sql и локальные таблицы. лучшего не получилось...
...
Рейтинг: 0 / 0
Как передать массив из одной проц. в другую (sql2k) - наиболее производительный
    #32027813
Speshuric
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О! извините... локальные временные таблицы типа #t этим же запросом заполняемые и создаваемые.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как передать массив из одной проц. в другую (sql2k) - наиболее производительный
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]