Каковы недостатки табличных параметров в хранимых процессах? - PullRequest
5 голосов
/ 20 августа 2011

Я работал с различными версиями MS SQL Server, включая 2000, 2005, 200, R2, (некоторые) Denali.Я никогда не был так рад новой функции, такой как параметры Table Valued в хранимой процедуре.Я также занимаюсь разработкой на C # и копаю TVP, я использую его, чтобы минимизировать количество обращений к базе данных из моего приложения.

Теперь мой реальный вопрос - каковы недостатки использования табличных параметров.Это почти слишком хорошо, чтобы быть правдой.

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

1 Ответ

5 голосов
/ 28 августа 2011

Параметры табличных значений имеют несколько практических недостатков.

Преимущества

  • Кэшируется при частом использовании
  • Очень эффективно облегчить массовые вставки
  • Сокращение количества обращений к серверу

Недостатки:

  • SQL Server не ведет статистику по столбцам TVP
  • Readonly
  • Не может использоваться в качестве цели операторов "Select Into" или "Insert Exec"
  • Доступно только на Sql Server 2008 и выше

Ссылки

...