MySQL-এ DECIMAL(x,0) ব্যবহার করে খুব বড় পূর্ণসংখ্যা স্টোর করা যায়, যা BIGINT-এর চেয়ে বড়।
রেঞ্জ তুলনা
- BIGINT UNSIGNED: 0 থেকে 18,446,744,073,709,551,615 (২০ অঙ্ক)
- DECIMAL(65,0): ৬৫ অঙ্ক পর্যন্ত (৬৫ টি ৯)
স্টোরেজ ক্যালকুলেশন
ফর্মুলা: Storage (bytes) = (x / 9) + ceil((x % 9) / 2)
- প্রতিটি ৯ অঙ্ক = ৪ বাইট
- অবশিষ্ট অঙ্ক অনুযায়ী ১-৪ বাইট
DECIMAL(65,0) উদাহরণ
CREATE TABLE DecimalDemo (
UserId DECIMAL(65,0)
);
INSERT INTO DecimalDemo VALUES
(99999999999999999999999999999999999999999999999999999999999999999),
(99999999999999999999999999999999999999999999999999999999999999999.0);
আউটপুট
+-------------------------------------------------------------------+ | UserId | +-------------------------------------------------------------------+ | 99999999999999999999999999999999999999999999999999999999999999999 | | 99999999999999999999999999999999999999999999999999999999999999999 | +-------------------------------------------------------------------+
সীমাবদ্ধতা
CREATE TABLE DecimalDemo1 (UserId DECIMAL(66,0)); -- ERROR 1426 (42000): Too-big precision 66 specified. Maximum is 65.
সারসংক্ষেপ: DECIMAL(65,0) হলো MySQL-এ সম্ভাব্য সর্বোচ্চ প্রিসিশন। এর জন্য ২৯ বাইট লাগে।