PDA

View Full Version : فیلد مناسب برای ایجاد کد منحصر بفرد رکوردها



ali190
پنج شنبه 15 اردیبهشت 1390, 18:28 عصر
باسلام و عرض خسته نباشید
من در جدولم نیاز دارم رکوردهای زیادی رو وارد کنم که فکر کنم بعد از چند وقت تعداد اونها به 10 میلیون برسه
در ابتدای طراحی برنامه ام من فیلدی که حالت auto number داشته باشه رو برای جدولم از نوع int (با طول 4) در نظر گرفته بودم
آیا با این حجم رکورد من باید فیلدم رو از int به numeric تغییر بدم؟
یا همون int جواب میده
ممنون میشم راهنماییم کنید
یاعلی

محمد سلیم آبادی
پنج شنبه 15 اردیبهشت 1390, 19:29 عصر
سلام،
اگر شروع شماره انداز خصیصه ی identity رو 2,147,483,648- قرار بدین و یکی یکی این شماره انداز اضافه کنه می تونید 4,294,967,296 مقدار تولید کنید. یعنی بیش از 4 میلیارد رکورد.
حالا ممکنه بگید که احتمال داره دائما این سطرها حذف یا اضافه بشن در نتیجه شماره انداز دائما به جلو میره، خب باید بگم که با در نظر گفتن bigint به جای int دیگه فکر نمی کنم تا چند صد ساله دیگه مشکلی داشته باشین.

ali190
پنج شنبه 15 اردیبهشت 1390, 19:53 عصر
با شرایط دیتابیس من و توضیحات تکمیلی شما فکر کنم همون int با شروع 0 برام کفایت کنه
فقط یه سئوال:
چرا sql server اندازه int رو 4 میگیره ، در حالیکه بیشتر از 4 رقم ساپورت میکنه؟
ممنون
یاعلی

pezhvakco
پنج شنبه 15 اردیبهشت 1390, 20:06 عصر
چرا sql server اندازه int رو 4 میگیره ، در حالیکه بیشتر از 4 رقم ساپورت میکنه؟
این 4 تعداد رقم ها نیست بلکه تعداد بایت است .

INT = 4Byte = 32Bit => 2^32 = 4294967296 ( -2147483648 .. 2147483647 )