আমার কাছে 490 এম সারি এবং 55 গিগাবাইটের টেবিল স্পেস সহ একটি টেবিল রয়েছে, তাই প্রতি সারি প্রায় 167 বাইট। টেবিলে তিনটি কলাম রয়েছে: ক VARCHAR(100)
, ক DATETIME2(0)
এবং ক SMALLINT
। VARCHAR
ক্ষেত্রের পাঠ্যের গড় দৈর্ঘ্য প্রায় 21.5, সুতরাং কাঁচা ডেটা সারি প্রতি 32 বাইটের কাছাকাছি হওয়া উচিত: 22 এর জন্য 2 VARCHAR
, 6 এর জন্য এবং 6 DATETIME2
-বিট পূর্ণসংখ্যার জন্য 2।
নোট করুন যে উপরের স্থানটি কেবলমাত্র তথ্য, সূচকগুলি নয়। আমি প্রোপার্টি | এর অধীনে রিপোর্ট করা মানটি ব্যবহার করছি স্টোরেজ | জেনারেল | ডেটা স্পেস।
অবশ্যই কিছু ওভারহেড থাকতে হবে , তবে সারি প্রতি 135 বাইট অনেকটা মনে হচ্ছে বিশেষত একটি বড় টেবিলের জন্য। কেন হতে পারে? অন্য কেউ কি অনুরূপ গুণক দেখেছেন? অতিরিক্ত স্থানের পরিমাণকে কী কারণগুলি প্রভাবিত করতে পারে?
তুলনার জন্য, আমি দুটি INT
ক্ষেত্র এবং 1 এম সারি দিয়ে একটি টেবিল তৈরি করার চেষ্টা করেছি । প্রয়োজনীয় ডেটা স্পেসটি ছিল 16.4 এমবি: সারি প্রতি 17 বাইট, কাঁচা ডেটার 8 বাইটের তুলনায়। আসল টেবিলের মতো একই পাঠ্য সহ একটি INT
এবং VARCHAR(100)
জনবহুল সহ আরও একটি টেস্ট সারণীতে প্রতি সারি 39 বাইট (44 কে সারি) ব্যবহার করা হয়েছে, যেখানে আমি 28 প্লাসটি একটু বেশি আশা করব।
সুতরাং উত্পাদন টেবিল যথেষ্ট বেশি ওভারহেড আছে। এটি বড় হওয়ার কারণে? আমি সূচকের আকারগুলি প্রায় N * লগ (এন) হওয়ার আশা করতাম, তবে প্রকৃত ডেটার জন্য অ-রৈখিক হওয়ার জন্য কেন স্থান প্রয়োজন তা আমি দেখতে পাচ্ছি না।
কোন পয়েন্টার জন্য অগ্রিম ধন্যবাদ!
সম্পাদনা করুন:
তালিকাভুক্ত ক্ষেত্রগুলির সবগুলি NOT NULL
। আসল টেবিলটির VARCHAR
ক্ষেত্র এবং ক্ষেত্রের একটি ক্রাস্টার্ড পিকে রয়েছে DATETIME2
that দুটি পরীক্ষার জন্য, প্রথমটি INT
ছিল (ক্লাস্টারড) পিকে।
যদি এটি গুরুত্বপূর্ণ: টেবিলটি পিং ফলাফলের রেকর্ড। ক্ষেত্রগুলি হ'ল ইউআরএল, পিং তারিখ / সময় এবং মিলিসেকেন্ডে বিলম্ব। ডেটা অবিচ্ছিন্নভাবে সংযোজন করা হয়, এবং কখনই আপডেট হয় না, তবে ইউআরএল প্রতি ঘন্টা কয়েক ঘন্টা রেকর্ডে এটি কেটে ফেলার জন্য ডেটা পর্যায়ক্রমে মুছে ফেলা হয়।
সম্পাদনা করুন:
এখানে একটি খুব আকর্ষণীয় উত্তর পরামর্শ দেয় যে, খুব বেশি পড়া এবং লেখার সূচকের জন্য, পুনর্নির্মাণ সুবিধাজনক হতে পারে না। আমার ক্ষেত্রে, ব্যবহৃত স্থানটি উদ্বেগজনক, তবে যদি লেখার পারফরম্যান্স আরও গুরুত্বপূর্ণ হয় তবে ফ্ল্যাবি ইনডেক্সগুলির সাথে আরও ভাল।