View Full Version : كاربرد Data type هاي زير
sh2007
پنج شنبه 19 شهریور 1388, 09:10 صبح
با سلام خدمت دوستان
Data Type هاي timestamp و uniqueidentifier و varbinary در كجا كاربرد دارند مي شه مثالي بزنيد
ممنون
sia_2007
جمعه 27 شهریور 1388, 02:50 صبح
timestamps :
برای جلوگیری از درج 2 یا چند رکورد تکراری در یک جدول SQL Server از چند مکانیزم استفاده میکند.
1- قفل خوش بینانه
2- قفل بدبینانه
3- حالت خودکار (نمیدانم چیست)
هر 3 این حالتها در هنگام ساخت جدول در MSSQL Server 2008 در بخش Properties (با میانبر F4) در فیلد Lock Escalation تنظیم میشوند.
حالت 1 : قفل بد بینانه Table (حالت پیش فرض) :
اگر تعداد محدودی از رکوردها دستخوش تغییر شوند؛ Insert,Update,Delete ؛ فقط همان تعداد محدود Lock میشوند.
اگر نسبت رکرودهایی که باید Lock شوند از حد متعارفی بگذرد؛ چون هر Lock باید در RAM نگه داری شود؛ برای صرفه جویی در RAM کل جدول Lock میشود !
حالت 2 : قفل خوش بینانه :
در این حالت چه یک رکورد Lock شود و چه تمامی رکوردها؛ هیچ گاه رکوردهای غیر لازم Lock نمیشوند.
نکته : فقط در صورتی از گزینه ی دوم استفاده کن که زیاد به خطای Dead Lock برخورد کنی
Cursor : یک نوع متغییر؛ نه Data Type ؛
در مکانیزمی به کار میرود که در آن رکوردها یک به یک پردازش میشوند Cursor Processing
حال timestamps :
برای بالا بردن سرعت کنترل قفل خوشبینانه اعمالی توسط کاربر؛ در مبحث Cursor Processing
---
مایکروسافت مقداری 128 بیتی دارد؛ به نام GUID
این مقدار در هر بار فراخوانی در کل دنیا منحصر به فرد است؛ و دیگر تکرار نمیشود؛
به عبارتی در زمان و مکان منحصر به فرد است.
که البته مکانیزم کار آن مشخص نیست.
برای مثال این مقدار :
a441670d-c66c-48ab-b0d2-903a9aa37ecf
البته این نوع هیچ وقت دستی مقداردهی نمیشود؛ و باید هنگام تعریف آن در بخش Cloumn Properties در گزینه Default Value از عبارت ()NewID استفاده کنیم که یک تابع است.
---
Var Binary :
در دو نوع است؛
1- معمولی با حداکثر حجم 8MB
MAX -2 با حداکثر حجم 4GB
در حالت اول دیتا حساب میشود
در حالت دوم BLOB
میتوان در SQL تنظیم کرد که دیتاها کجا ذخیره شوند و BLOB ها کجا؛
مثلا Data را روی هارد SCSI گرانقیمت و سریع بریزیم
و BLOB ها را روی SATA ی ارزان قیمت ولی کندتر (با مبحث File Group)
از این نوع داده ای برای نگه داری فایل از هر نوعی اسفاده میشود
---
مثال :
اولی را در مواقعی استفاده میکنیم که میخواهیم کنترل Lock کردن رکوردها را در برخی دسترات خودمان بر عهده بگیریم؛ مثلا به دستوری برای کاربری خاص ارجحیت بیشتری بدهیم یا از ارجحیت دیگری بکاهیم
دومی را در برخی موارد برای کلید اصلی استفاده میکنم.
سومی برای نگه داری فایل مثل عکس پرسنل؛ تصویر نامه ها و حکم ها و ... به کار میرود.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.