کلسٹرڈ بمقابلہ غیر کلسٹرڈ انڈیکس: مثال کے ساتھ کلیدی اختلافات

انڈیکس کیا ہے؟

انڈیکس ڈیٹا بیس میں ایک یا زیادہ کالموں سے بنی کلید ہے جو ٹیبل یا ویو سے قطاریں لانے کی رفتار کو تیز کرتی ہے۔ یہ کلید اوریکل ، ایس کیو ایل سرور ، مائی ایس کیو ایل وغیرہ جیسے ڈیٹا بیس کو کلیدی اقدار سے وابستہ صف کو جلدی تلاش کرنے میں مدد دیتی ہے۔

انڈیکس کی دو اقسام ہیں:

  • کلسٹرڈ انڈیکس۔
  • غیر کلسٹرڈ انڈیکس۔

اس سبق میں ، آپ سیکھیں گے:

کلسٹرڈ انڈیکس کیا ہے؟

کلسٹر انڈیکس انڈیکس کی ایک قسم ہے جو ٹیبل میں ڈیٹا کی قطاروں کو ان کی کلیدی اقدار پر ترتیب دیتی ہے۔ ڈیٹا بیس میں ، فی ٹیبل صرف ایک کلسٹرڈ انڈیکس ہے۔

کلسٹرڈ انڈیکس اس ترتیب کی وضاحت کرتا ہے جس میں ڈیٹا ٹیبل میں محفوظ کیا جاتا ہے جسے صرف ایک ہی طریقے سے ترتیب دیا جاسکتا ہے۔ لہذا ، ہر ٹیبل کے لیے صرف ایک کلسٹرڈ انڈیکس ہو سکتا ہے۔ RDBMS میں ، عام طور پر ، بنیادی کلید آپ کو اس مخصوص کالم کی بنیاد پر کلسٹرڈ انڈیکس بنانے کی اجازت دیتی ہے۔

غیر کلسٹرڈ انڈیکس کیا ہے؟

ایک غیر کلسٹرڈ انڈیکس ڈیٹا کو ایک جگہ اور انڈیکس کو دوسرے مقام پر محفوظ کرتا ہے۔ انڈیکس میں اس ڈیٹا کے مقام کی طرف اشارے شامل ہیں۔ ایک ٹیبل میں کئی غیر کلسٹرڈ انڈیکس ہو سکتے ہیں کیونکہ نان کلسٹر انڈیکس میں انڈیکس مختلف جگہوں پر محفوظ ہوتا ہے۔

مثال کے طور پر ، ایک کتاب میں ایک سے زیادہ انڈیکس ہوسکتے ہیں ، ایک شروع میں جو کتاب یونٹ کے حساب سے مندرجات کو ظاہر کرتا ہے جبکہ دوسرا انڈیکس حروف تہجی کی ترتیب میں شرائط کا انڈیکس دکھاتا ہے۔

ٹیبل کے نان آرڈرنگ فیلڈ میں نان کلسٹرنگ انڈیکس کی وضاحت کی گئی ہے۔ اس قسم کی انڈیکسنگ کا طریقہ آپ کو ان سوالات کی کارکردگی کو بہتر بنانے میں مدد کرتا ہے جو چابیاں استعمال کرتی ہیں جنہیں بنیادی کلید کے طور پر تفویض نہیں کیا جاتا ہے۔ ایک غیر کلسٹرڈ انڈیکس آپ کو ٹیبل کے لیے ایک منفرد کلید شامل کرنے کی اجازت دیتا ہے۔

کلیدی فرق

  • کلسٹر انڈیکس انڈیکس کی ایک قسم ہے جو ٹیبل میں ڈیٹا کی قطاروں کو ان کی کلیدی اقدار پر ترتیب دیتی ہے جبکہ نان کلسٹرڈ انڈیکس ڈیٹا کو ایک جگہ اور انڈیکس کو دوسرے مقام پر اسٹور کرتا ہے۔
  • کلسٹرڈ انڈیکس انڈیکس کے لیف نوڈز میں ڈیٹا پیجز کو اسٹور کرتا ہے جبکہ نان کلسٹرڈ انڈیکس طریقہ کبھی انڈیکس کے لیف نوڈس میں ڈیٹا پیجز کو محفوظ نہیں کرتا ہے۔
  • کلسٹر انڈیکس کو اضافی ڈسک کی جگہ کی ضرورت نہیں ہوتی جبکہ نان کلسٹرڈ انڈیکس کو اضافی ڈسک کی جگہ درکار ہوتی ہے۔
  • کلسٹر انڈیکس تیزی سے ڈیٹا تک رسائی فراہم کرتا ہے ، دوسری طرف ، نان کلسٹرڈ انڈیکس سست ہے۔

کلسٹرڈ انڈیکس کی خصوصیت

  • ڈیفالٹ اور ترتیب شدہ ڈیٹا اسٹوریج۔
  • انڈیکس کے لیے صرف ایک یا ایک سے زیادہ کالم استعمال کریں۔
  • ڈیٹا اور انڈیکس کو ایک ساتھ اسٹور کرنے میں آپ کی مدد کرتا ہے۔
  • ٹکڑے کرنا۔
  • آپریشنز
  • کلسٹرڈ انڈیکس اسکین اور انڈیکس کی تلاش۔
  • کلیدی تلاش

غیر کلسٹرڈ انڈیکس کی خصوصیات

  • صرف کلیدی اقدار کو محفوظ کریں۔
  • ڈھیر/کلسٹرڈ انڈیکس قطار کی طرف اشارے۔
  • ثانوی ڈیٹا تک رسائی کی اجازت دیتا ہے۔
  • ڈیٹا پر پل۔
  • انڈیکس اسکین اور انڈیکس سیک کے آپریشنز۔
  • آپ ٹیبل یا ویو کے لیے نان کلسٹرڈ انڈیکس بنا سکتے ہیں۔
  • نان کلسٹرڈ انڈیکس کی ہر انڈیکس قطار نان کلسٹرڈ کلیدی ویلیو اور رو لوکیٹر کو محفوظ کرتی ہے۔

کلسٹرڈ انڈیکس کی ایک مثال۔

نیچے دی گئی مثال میں ، SalesOrderDetailID کلسٹرڈ انڈیکس ہے۔ ڈیٹا حاصل کرنے کے لیے نمونہ استفسار | _+_ |

غیر کلسٹرڈ انڈیکس کی ایک مثال۔

مندرجہ ذیل مثال میں ، آرڈر کیٹی اور پروڈکٹ آئی ڈی پر ایک غیر کلسٹڈ انڈیکس بنایا گیا ہے: _+_ |

کلسٹرڈ انڈیکس کے مقابلے میں درج ذیل استفسار تیزی سے حاصل کیا جائے گا۔ | _+_ |

کلسٹرڈ انڈیکس اور نان کلسٹرڈ انڈیکس کے مابین فرق

پیرامیٹرز کلسٹرڈ۔ غیر کلسٹرڈ۔
کے لیے استعمال کریں۔آپ آرڈر کے مطابق ریکارڈ کو ترتیب دے سکتے ہیں اور کلسٹرڈ انڈیکس کو جسمانی طور پر میموری میں محفوظ کر سکتے ہیں۔ایک غیر کلسٹرڈ انڈیکس آپ کو ڈیٹا کی قطاروں کے لیے ایک منطقی ترتیب بنانے میں مدد کرتا ہے اور جسمانی ڈیٹا فائلوں کے لیے پوائنٹر استعمال کرتا ہے۔
ذخیرہ کرنے کا طریقہ۔آپ کو انڈیکس کے لیف نوڈس میں ڈیٹا پیجز اسٹور کرنے کی اجازت دیتا ہے۔انڈیکسنگ کا یہ طریقہ کبھی بھی انڈیکس کے لیف نوڈز میں ڈیٹا پیجز کو محفوظ نہیں کرتا ہے۔
سائزکلسٹرڈ انڈیکس کا سائز کافی بڑا ہے۔کلسٹرڈ انڈیکس کے مقابلے میں نان کلسٹرڈ انڈیکس کا سائز چھوٹا ہے۔
ڈیٹا تک رسائی۔تیز تر۔کلسٹرڈ انڈیکس کے مقابلے میں سست۔
اضافی ڈسک کی جگہ۔ضرورت نہیں ہےانڈیکس کو الگ سے اسٹور کرنے کی ضرورت ہے۔
چابی کی قسمبذریعہ ڈیفالٹ پرائمری کیز ٹیبل ایک کلسٹرڈ انڈیکس ہے۔یہ میز پر منفرد رکاوٹ کے ساتھ استعمال کیا جا سکتا ہے جو ایک جامع کلید کے طور پر کام کرتا ہے۔
اہم خصوصیتکلسٹرڈ انڈیکس ڈیٹا کی بازیابی کی کارکردگی کو بہتر بنا سکتا ہے۔اسے کالموں پر بنایا جانا چاہیے جو جوائن میں استعمال ہوتے ہیں۔

کلسٹرڈ انڈیکس کے فوائد

کلسٹرڈ انڈیکس کے فوائد/فوائد یہ ہیں:

  • کلسٹرڈ انڈیکس زیادہ سے زیادہ ، من ، گنتی کی قسم کے سوالات کے ساتھ رینج یا گروپ کے لیے ایک مثالی آپشن ہیں۔
  • اس قسم کے انڈیکس میں ، تلاش ڈیٹا میں ایک خاص نقطہ پر جا سکتی ہے تاکہ آپ وہاں سے ترتیب وار پڑھتے رہیں۔
  • کلسٹرڈ انڈیکس کا طریقہ رینج کے آغاز میں انڈیکس کے اندراج کا پتہ لگانے کے لیے لوکیشن میکانزم استعمال کرتا ہے۔
  • رینج کی تلاش کے لیے یہ ایک مؤثر طریقہ ہے جب تلاش کی کلیدی اقدار کی ایک رینج کی درخواست کی جائے۔
  • صفحے کی منتقلی کو کم سے کم کرنے اور کیشے کو زیادہ سے زیادہ کرنے میں آپ کی مدد کرتا ہے۔

غیر کلسٹرڈ انڈیکس کے فوائد

غیر کلسٹرڈ انڈیکس استعمال کرنے کے فوائد یہ ہیں:

  • ایک نان کلسٹرنگ انڈیکس آپ کو ڈیٹا بیس ٹیبل سے ڈیٹا کو تیزی سے بازیافت کرنے میں مدد کرتا ہے۔
  • کلسٹرڈ انڈیکس سے وابستہ اوور ہیڈ لاگت سے بچنے میں آپ کی مدد کرتا ہے۔
  • ایک ٹیبل میں RDBMS میں ایک سے زیادہ غیر کلسٹرڈ انڈیکس ہو سکتے ہیں۔ لہذا ، یہ ایک سے زیادہ انڈیکس بنانے کے لیے استعمال کیا جا سکتا ہے۔

کلسٹرڈ انڈیکس کے نقصانات

یہاں ، کلسٹرڈ انڈیکس استعمال کرنے کے نقصانات/نقصانات ہیں:

  • غیر ترتیب وار ترتیب میں بہت سارے اندراجات۔
  • کلسٹرڈ انڈیکس بہت سارے مستقل صفحات کو تقسیم کرتا ہے ، جس میں ڈیٹا پیج کے ساتھ ساتھ انڈیکس پیجز بھی شامل ہوتے ہیں۔
  • داخل کرنے ، اپ ڈیٹ کرنے اور حذف کرنے کے لیے SQL کے لیے اضافی کام۔
  • کلسٹرڈ انڈیکس ریکارڈ اپ ڈیٹ کرنے میں زیادہ وقت لیتا ہے جب کلسٹرڈ انڈیکس میں فیلڈز تبدیل ہوتے ہیں۔
  • لیف نوڈس زیادہ تر کلسٹرڈ انڈیکس میں ڈیٹا پیجز پر مشتمل ہوتے ہیں۔

غیر کلسٹرڈ انڈیکس کے نقصانات

یہاں ، غیر کلسٹرڈ انڈیکس استعمال کرنے کے نقصانات/نقصانات ہیں:

  • ایک غیر کلسٹرڈ انڈیکس آپ کو منطقی ترتیب میں ڈیٹا ذخیرہ کرنے میں مدد کرتا ہے لیکن جسمانی طور پر ڈیٹا کی قطاروں کو ترتیب دینے کی اجازت نہیں دیتا ہے۔
  • غیر کلسٹرڈ انڈیکس پر تلاش کا عمل مہنگا پڑ جاتا ہے۔
  • جب بھی کلسٹرنگ کی کو اپ ڈیٹ کیا جاتا ہے ، نان کلسٹرڈ انڈیکس پر اسی اپ ڈیٹ کی ضرورت ہوتی ہے کیونکہ یہ کلسٹرنگ کی کو اسٹور کرتا ہے۔