Используются ли CLR UDT в корпоративных приложениях?

Я изучаю некоторые новые технологии, доступные в SQL Server 2005/2008. Большинство моих приложений написаны на C# и обычно имеют компонент базы данных. Большинство из того, что я нахожу в Google, является основным: «Вот как вы настраиваете CLR UDT». У меня есть несколько общих вопросов об их реальном применении и использовании.

  • Используются ли UDT, размещенные в среде CLR, в приложениях? Крупный или мелкий масштаб
  • Есть ли проблемы с производительностью при их использовании?
  • Администраторы баз данных обычно предпочитают использовать только встроенные типы?

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


person Joe Doyle    schedule 27.01.2009    source источник


Ответы (2)


UDT имеют преимущество только тогда, когда они действительно представляют какой-то фундаментальный элемент вашего приложения. Почти всегда их можно разбить на встроенные типы, но преимущество в том, что вам не нужно приводить возвращаемый объект. Таким образом, вам, вероятно, не следует использовать UDT, которые представляют сложные объекты, такие как Employee, но что-то фундаментальное, такое как Size или Location, может быть хорошим выбором, потому что оно легкое, но очень жесткое в своем определении.

person Michael Prewecki    schedule 28.01.2009

Я исследовал их использование, но мне стало не по себе из-за версий. Что произойдет, если вы загрузите на сервер более новую версию сборки? Из-за зависимостей вам придется удалить UDT и создать его заново, но что тогда произойдет с данными? Мы придерживаемся встроенных типов.

person jalbert    schedule 27.01.2009