Насколько прохладный Пользовательские типы данных в SQL Server? [закрытый]

У вас небольшая ошибка отступа. ViewerProtocolPolicy: 'redirect-to-https' должен быть ребенком DefaultCacheBehavior, у вас есть его в соответствии с DistributionConfig

18
задан John Saunders 20 December 2012 в 18:22
поделиться

2 ответа

Никогда не используйте их, мой совет. Вы находитесь в мире вреда, если когда-нибудь необходимо изменять определение. Возможно, это улучшилось, так как SQL Server 2000 и кто-то с большим знакомством с более новыми версиями могут сказать Вам, безопасно ли теперь войти в воду, но пока я не имел подтверждение этого и проверил его сам с тестом, я не помещу его на свою производственную систему.

Выезд этот вопрос для деталей: , Как изменить базовый тип UDT в SQL-сервере 2005?

17
ответ дан 30 November 2019 в 07:28
поделиться

Я делаю не , используют основанный на коде UDTs, потому что я не думаю, что дополнительная сложность гарантирует преимущества. Я делаю использование T-SQL UDTs, потому что существует очень мало дополнительной сложности так, чтобы преимущества стоили усилия. (Спасибо переходит к Marc_s для указания, что мое исходное сообщение было неполным!)

Относительно Основанного на коде UDTs

Думают о нем этот путь: если Ваш проект имеет компонент управляемого кода (Ваше приложение) и компонент базы данных (SQL Server), какое реальное преимущество Вы получаете от определения управляемого кода в базе данных? По моему опыту? Ни один.

Развертывание является более трудным, потому что необходимо будет добавить блоки к развертыванию DB и изменить эти блоки, добавьте файлы, и т.д. в SQL Server. Необходимо будет также включить CLR в SQL Server (не грандиозное предприятие, но ничей доказанный мне, что это не будет иметь штрафа производительности/памяти). В конце Вы будете иметь точно, что Вы имели бы при простой разработке этого в код приложения. Может быть некоторое улучшение производительности, но оно действительно кажется мне случаем преждевременной оптимизации - тем более, что я не знаю, страдает ли полный производительность из-за наличия CLR на по сравнению с прочь.

Примечание: я предполагаю, что Вы использовали бы CLR SQL Server для определения типов. HLGEM говорит о SQL Server 2000, но я не знаком с 2000 и думал, что она только имела UDFs и не UDTs во внешне определенном dlls (но не заключайте мне в кавычки... Я действительно не знаком с ним!).

Относительно T_SQL UDTs T-SQL UDTs

может быть определен в одном только SQL (перейдите к "Программируемости | Типы | Пользовательские Типы данных" в Studio управления SQL Server). Поскольку стандартный UDTs I был бы на самом деле рекомендовать освоить их. Они довольно легки и могут сделать Ваш DDL большим количеством самодокументирования и могут осуществить ограничения целостности. Например, я определяю "GenderType" (символ (1), не nullable, содержа "M" или "F"), который гарантирует, что только соответствующие данные разрешены в поле Gender.

UDTs довольно легки полный, но эта статья дает довольно хороший пример того, как взять ее к следующему уровню путем определения Правила ограничить данные, разрешенные в UDT.

, Когда я первоначально ответил на этот вопрос, я был закреплен на идее комплекса, определенные кодом типы ( пальма вкусов ко лбу ). Так... благодарит Marc.

13
ответ дан 30 November 2019 в 07:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: