Обычно ли CLR UDT используются в корпоративных приложениях?
-
20-08-2019 - |
Вопрос
Я изучаю некоторые из новых технологий, доступных в SQL Server 2005/2008.Большинство моих приложений написаны на C # и обычно имеют компонент базы данных.Большая часть того, что я нахожу в Google, - это основное: "Вот как вы настраиваете CLR UDT".У меня есть несколько общих вопросов об их реальном применении.
- Обычно ли в приложениях используются UDT, размещенные в среде CLR?Большой или мелкий масштаб
- Есть ли проблемы с производительностью при их использовании?
- Обычно ли администраторы баз данных предпочитают использовать только встроенные типы?
Они кажутся способом просто втиснуть объект в таблицу.Прав ли я, предполагая, что фактический круг проблем, которые имеют упрощенные решения из-за их использования, минимален?
Решение
UDT имеют преимущество только тогда, когда они действительно представляют какой-то фундаментальный элемент вашего приложения.Почти всегда их можно разбить на встроенные типы, но преимущества заключаются в том, что вам не нужно приводить возвращаемый объект.Поэтому вам, вероятно, не следует использовать UDT, которые представляют сложные объекты, такие как Employee , но что-то фундаментальное, например размер или местоположение, может быть хорошим выбором, потому что оно легкое, но очень жесткое по своему определению.
Другие советы
Я исследовал их использование, но мне стало не по себе из-за управления версиями.Что произойдет, если вы загрузите более новую версию сборки на сервер?Из-за зависимостей вам пришлось бы удалить UDT и воссоздать его заново, но что тогда происходит с данными?Мы придерживаемся встроенных типов.