«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как табличные параметры могут улучшить производительность хранимой процедуры SQL и простоту кода?

Как табличные параметры могут улучшить производительность хранимой процедуры SQL и простоту кода?

Опубликовано в 2025-02-26
Просматривать:238

How Can Table-Valued Parameters Improve SQL Stored Procedure Performance and Code Simplicity?

прохождение списков с оценкой таблицы параметров в SQL-хранимых процедурах

сценарий заполнения таблицы базы данных с несколькими элементами, связанными с конкретной записью, является Общая задача в манипулировании данными. В то время как традиционные подходы включают в себя итеративно передачу значений параметров или использование манипуляции с строками, доступно более эффективное решение.

]

Решение: Таблица, оцененные параметры в SQL Server 2008

SQL Server В 2008 году введены табличные параметры, которые позволяют передавать сбор структурированных данных в качестве параметра хранимой процедуре. Это устраняет необходимость в сложных строковых манипуляциях или обработке итеративных параметров. ( @Reportid int, @Items как itemlist-пользовательский тип таблицы ) КАК НАЧИНАТЬ Вставьте в Reportitem (ReportId, ItemId) Выберите @ReportId, Идентификатор От @Items End

тип пользовательского таблицы для списка элементов
ALTER PROCEDURE AddItemsToReport
(
  @ReportId int,
  @Items AS ItemList -- User-defined table type
)
AS
BEGIN
  INSERT INTO ReportItem (ReportId, ItemId)
  SELECT  @ReportId,
            Id
  FROM    @Items
END
]

] Чтобы создать тип пользовательского таблицы для списка элементов, выполните следующее оператор SQL: Create Type Itemlelist как таблица ( Id int )

проходящий табличный параметр из C#
ALTER PROCEDURE AddItemsToReport
(
  @ReportId int,
  @Items AS ItemList -- User-defined table type
)
AS
BEGIN
  INSERT INTO ReportItem (ReportId, ItemId)
  SELECT  @ReportId,
            Id
  FROM    @Items
END

в вашем коде C#, создайте экземпляр типа пользовательского таблицы: var itemlist = new ItemList (); itemlist.rows.add (1); itemlist.rows.add (2); itemlist.rows.add (3);

затем передайте таблицу параметр в хранимую процедуру:

var itemList = new ItemList();
itemList.Rows.Add(1);
itemList.Rows.Add(2);
itemList.Rows.Add(3);

Преимущества таблицы Параметры
ALTER PROCEDURE AddItemsToReport
(
  @ReportId int,
  @Items AS ItemList -- User-defined table type
)
AS
BEGIN
  INSERT INTO ReportItem (ReportId, ItemId)
  SELECT  @ReportId,
            Id
  FROM    @Items
END

улучшенные производительность, избегая многочисленных круглых поездок в базу данных. Сильно вводив входные данные.

]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3