ফিল ফ্যাক্টরটি কেবলমাত্র খেলায় আসে যখন কোনও সূচি তৈরি করা হয় বা পুনর্নির্মাণ করা হয়। এই ক্রিয়াকলাপগুলির মধ্যে পাতার স্তর পৃষ্ঠাগুলির সূচকগুলির জন্য ভোগের পরিমাণ। ( প্রভাবিত পৃষ্ঠার স্তরের আরও স্পষ্টতার জন্য নীচের নোটটি দেখুন )
যখন ডেটাতে একটি DML কমান্ড আছে ( INSERT
, UPDATE
, এবং / অথবা DELETE
), এটা সংশ্লিষ্ট ক্ষতিগ্রস্ত ইনডেক্স কি হবে। অন্য কথায়, আপনার যদি এমন একটি পৃষ্ঠা থাকে যা 20% ভরা থাকে এবং আপনি সেই পৃষ্ঠায় ডেটা .োকান, পৃষ্ঠায় 20% এর বেশি ডেটা থাকবে (আসুন উদাহরণস্বরূপ 35% বলি)। অন্য একটি সন্নিবেশ করান, এখন পৃষ্ঠাটি% 64% ভরাট। সূচকটি পুনর্নির্মাণ করুন এবং পাতার স্তরের পৃষ্ঠাগুলিতে এখন আপনার নির্দিষ্ট করা স্পেস শতাংশ (বা সার্ভারের জন্য স্পষ্টতই ডিফল্ট মান) থাকবে।
( নোট , যখন আপনি নির্দিষ্ট না PAD_INDEX
হতে ON
, ভরাট ফ্যাক্টর শুধুমাত্র পাত স্তর পৃষ্ঠাগুলি প্রয়োগ করা হয়। কিন্তু যখন আপনি সেট PAD_INDEX = ON
, ভরাট ফ্যাক্টর সূচক অন্তর্বর্তী পর্যায়ের পৃষ্ঠাগুলির জন্য বিবেচনায় নেয়া করা হবে না। ডিফল্টOFF
)
ফিল ফ্যাক্টরটি সামঞ্জস্য করার কারণ (ডিফল্ট 100/0 ব্যবহার করার পরিবর্তে) যাতে ডেটা tingোকানো বা আপডেট করার সময় আপনি পৃষ্ঠা বিভক্তিকে হ্রাস করুন। তবে মনে রাখবেন, কিছুই নিখরচায় নয়। ফিল ফ্যাক্টর যত কম হবে, তত বেশি স্পেস ডেটা সাধারণত গ্রহণ করবে। আপনি যদি আপনার সূচকের জন্য 80% মুক্ত পৃষ্ঠাগুলি রাখেন তবে তারা তুলনামূলকভাবে বেশি পরিমাণে ডিস্কের জায়গা ব্যবহার করবে, যা আরও পড়তে পারে।
আমার বোধগম্যতা থেকে, যখন তথ্য whenোকানো হবে তখন পৃষ্ঠাগুলিতে প্রায় 20% ডেটা থাকবে। যখন ডেটা আপডেট করা হয়, তবে এটি সূচকের 20% এরও বেশি প্রসারিত হবে, এটি পূরণ করা এবং একটি পৃষ্ঠা বিভক্ত করা অবধি, তাই না?
ডেটা isোকানো হলে এটি উপযুক্ত পৃষ্ঠায় উপযুক্ত সূচীতে intoোকানো হবে। এটি এবং সম্ভবত সম্ভবত পৃষ্ঠার ভরাট ফ্যাক্টরের চেয়ে বেশি ব্যবহারের কারণ হতে পারে।
পূর্ণ সূচী পৃষ্ঠায় নতুন ডেটা যুক্ত করা হলে একটি পৃষ্ঠার বিভাজন ঘটবে। এসকিউএল সার্ভার তারপরে পৃষ্ঠাটি বিভক্ত করবে এবং পুরো পৃষ্ঠা থেকে প্রায় অর্ধেক ডেটা নতুন পৃষ্ঠায় রাখবে। আবার, ফিল ফ্যাক্টর এখানে কার্যকর হয় না।
ফিল ফ্যাক্টর কম করার বৈধ কারণ হ'ল পৃষ্ঠা বিভাজন হ্রাস করা, সুতরাং সূচী পৃষ্ঠার খণ্ডনকে হ্রাস করা।