۲۳ بهمن

Data Type های منسوخ شده در SQL Server

در نسخه SQL Server 2000 هنگام طراحی یک جدول برای داده های متنی طولانی از دیتا تایپ های text و ntext استفاده می کردیم ولی از نسخه SQL Server 2005 مایکروسافت دیتا تایپ های جدیدی را به اسکیوال سرور اضافه کرد. بعضی از این دیتا تایپ های جدید عبارتند از : varchar(max) و nvarchar(max) و varbinary(max) می باشند. اگر شما در گوگل جمله Deprecate Data Type SQL server را جستجو نمایید و وارد سایت مایکروسافت شوید دراین صورت با پیغام زیر مواجه خواهید شد.

شرکت مایکروسافت از سال 2005 به تمامی کاربران اسکیوال سرور اعلام کرده است که از دیتا تایپ های varchar(max) و nvarchar(max) و varbinary(max) استفاده نکنند و اعلام کرده است که کاربران به جای دیتا تایپ text از varchar(max) و سپس به جای دیتا تایپ ntext از nvarchar(max)  و سپس به جای دیتا تایپ Image از varbinary(max)  استفاده کنید.

دلایل عدم استفاده از دیتا تایپ های text و ntext و image :

1 – دیتا تایپ های text و ntext و image ، فضای خیلی بیشتری روی دیسک ، نسبت به حالتی که از دیتا تایپ های varchar(max) و nvarchar(max) و varbinary(max) استفاده کرده اید ، به خود اختصاص می دهند.

2 – از لحاظ performance ایی،  دیتا تایپ های text و ntext و image ، IO بیشتری را به خود اختصاص میدهند ، نسبت به حالتی که از دیتا تایپ های varchar(max) و nvarchar(max) و varbinary(max) استفاده کرده اید.

3 – از لحاظ performance ایی،  دیتا تایپ های text و ntext و image ، زمان اجرای بیشتری را به خود اختصاص میدهند ، نسبت به حالتی که از دیتا تایپ های varchar(max) و nvarchar(max) و varbinary(max) استفاده کرده اید.

تذکر خیلی خیلی مهم : بر حسب تجربیاتی که بنده به دست آورده ام تا جایی که ممکن است از دیتا تایپ های varchar(max) و nvarchar(max) و varbinary(max) استفاده نکنید مگر اینکه واقعا مجبور به استفاده از دیتا تایپ های varchar(max) و nvarchar(max) و varbinary(max)  بشوید. به عنوان مثال اگر مثلا طول رشته شما زیر4000 کاراکتر است شما می توانید از nvarchar(4000) استفاده کنید. علت این است که optimizer اسکیوال سرور جهت تخصیص فضا در رم سرور ، زمانی که از دیتا تایپ های های varchar(max) و nvarchar(max) استفاده می کنید، اشتباه فضا را تخمین می زند.

نویسنده مقاله : غلامحسین عبادی

این مطلب چقدر مفید بود؟

برای امتیاز دادن به آن روی ستاره ها کلیک کنید!

میانگین امتیاز 0 / 5. تعداد آرا: 0

تاکنون رأی داده نشده ! اولین کسی باشید که این مطلب را ارزیابی می کنید

دیدگاه شما

نشانی ایمیل شما منتشر نخواهد شد.

1 − 1 =