ايران ويج

نسخه‌ی کامل: کلید برای بی نهایت رکورد
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام
من یک سئوالی دارم که از خیلی وقت فکر منو به خودش مشغول کرده از دوستان گرامی می خواهم در این باره کمک کنند.

فرض کنید در SQL Server یک فیلد به نام ID از نوع Bigint تعریف شده است که یکی یکی به مقدار این اضافه میشه و فرض کنید کلید جدول هم باشه.

حالا بیشترین عددی مثبت Bigint این 9,223,372,036,854,775,807 می باشد، حالا وقتی فیلد ID به این عدد رسید بعد خواست در مرحله ذخیره بعدی یکی به این عدد اضافه کنه چی میشه؟ آیا اضافه میشه؟ آیا پیغام خطا میده؟ و یا اصلا باید چه کار انجام بدیم که بخواهیم بی نهایت رکورد را در بانک اطلاعاتی ذخیره کنیم که یک کلید عددی هم داشته باشه؟

از دوستان خواهش می کنم به این سئوال لطفا پاسخ بدن.
سلام، بعد از اینکه به این عدد برسید با خطا مواجه میشید.

با توجه به اینکه اعداد شما در حوزه اعداد صحیح هستند، شما میتونید از نوع Decimal استفاده کنید که بدون داشتن اعداد ممیزی، 38 رقم رو در خودش جا میده.
اگر فرض کنیم جدول شما ده تا فیلد 4 بایتی داشته باشه و بانک شما هم فقط همین یک جدول رو داشته باشه، اون وقت زمانی که شمارنده به عدد 9223372036854775807 برسه، حجم دیتای خام شما بیشتر از 350 میلیون گیگابایت خواهد شد.
به نظرم قبل از محدودیت شمارنده، چیزهای بزرگتری هستند که می تونید نگرانشون باشید!   (;
دی دی عزیز از جواب هوشمندانه شما بسیار ممنونم، من هم به این موضوع تابه حال فکر نکرده بودم.