بٽ ميپ انڊيڪس ، فائدا ۽ نقصان  


تعارف  

ID ، NAME ، ADDRESS ، AGE ، صنف ۽ سيمسٽر سان شاگردن جي ٽيبل تي اسان جي عام مثال تي غور ڪريو. اهو ٽيبل نوان شاگردن لاءِ تعليمي سال جي شروعات ۾ تازو ڊيٽا سان ڀريل ۽ ايندڙ سيمسٽر سان پراڻين شاگردن لاءِ اپڊيٽ ڪيو ويندو. اڪثر وقت اها ٽيبل جامد هوندي ۽ ان تي نسبتا گهٽ انٽرويو / حذف / تازه ڪاري هوندي. ساڳي ئي وقت ۾ هن ميز سان گڏ ڪافي گهڻا اشتهار وٺي رهيا آهن ؛ انهي جدول تي مختلف قسم جا سوال ڪ firedيا ويندا جيئن شاگردن جي تفصيل حاصل ڪرڻ لاءِ سڀني مردن / عورتن جي فهرست ، شاگردن کي خاص علائقي ۾ رهڻ ، يا مرد / عورت شاگردن کي خاص سيمسٽر وغيره جي تشڪيل ڏيڻ لاءِ ، پر ڇا ٿيندو؟ هي شاگرد ٽيبل ڪاليج جي ڊيٽابيس ۾؟ تمام وڏو ، صحيح؟ انهي صورت ۾ صارف جي سوال کي ڪنهن به قسم جي سوال جو نتيجو حاصل ڪرڻ لاءِ تمام تڪڙو هئڻ گهرجي. ڇا اسان جا روايتي فائل آرگنائيزيشن جا طريقا تيزي سان نتيجا ڏيندا؟ يا ڇا اسان ڊيٽا کي محفوظ ۽ واپس حاصل ڪرڻ جي ڪنهن بهتر طريقي بابت سوچي سگهون ٿا؟

ها اتي بھتر طريقو آھي منتخب ڪرڻ جو رڪارڊ ميموري کان جامد لاءِ ٽيبل جيڪا رسائي ڪئي و multipleي ٿي ڪيترائي onlyيرا ر toو ٽيبل جو مواد ڏسڻ لاءِ.

بٽ ميپ انڊيڪس  

مٿين ڪيسن لاءِ ريڪارڊ حاصل ڪرڻ ۾ بٽ ايمپ انڊيڪس ڏا powerfulا طاقتور آهن. هن طريقي ۾ ، ڪالمن لاء انڊيڪس گهٽ منفرد قدرن جي استعمال سان بٽس جي صورت ۾ استعمال ٿيندا آهن. اچو ته مثال استعمال ڪندي هن طريقي بابت هڪ هڪ کي سمجهڻ لاءِ ڪوشش ڪريون.

پڻ ڏسو
او ايس آء ماڊل

مٿين مثال ۾ ، جيڪڏهن اسان GENDER واري ڪالمن کي ڏسون ٿا ، ان جا فقط ٻه قدر ٿي سگهن ٿا - مرد يا عورت. سموري اسٽڊي واري ٽيبل جي مقابلي ۾ ، اهي ڌار قدر نه آهن. ساڳي طرح ، چون ٿا ته اسان وٽ صرف سيشن لاءِ چار سيمسٽر آهن ، ۽ پوءِ اسان وٽ صرف چار قيمتون ٿي سگهن ٿيون - سيم 1 ، سيم 2 ، سيم 3 ۽ سيم 4. ان قسم جي ڪالمن کي گهٽ منفرد قدر سان ڪالم سڏيو ويندو آهي يا گهٽ Cardinality سان ڪالم. جيتوڻيڪ انهن ڪالمن ۾ گهٽ وقتي قدر آهن ، اهي اڪثر اڪثر پڇيا ويا آهن.

بٽس - جيئن هرڪو knowsاڻي ٿو ته اها ڊيٽا جي نمائندگي جو نن smallestڙو يونٽ آهي. اهو قدر 0 يا 1 ٿي سگهي ٿو قيمت. هاڻي ڇا جيڪڏهن اسان اهي بٽ استعمال ڪندا آهيون انهن گهٽ منفرد قدر جي ڪالمن جي نمائندگي ڪرڻ لاءِ. پر ڪيئن؟ گهٽ استعمال ٿيندڙ ڪالم کي بٽ جي صورت ۾ محفوظ ڪرڻ جي هن ٽيڪنالاجي کي bitmap indices چئجي ٿو.

اهو طريقو تمام وڏي جدولن لاءِ استعمال ڪيو ويو آهي گهٽ منفرد قدر واري ڪالمن سان ۽ وقت جي رسائي مختلف وقتن واري سوالن سان. هن طريقي ۾ اسان وٽ هوندي

  1. جدول ۾ جزن جي تعداد وانگر ڪيترائي تمام گھٽ منفرد قدر ڪالمن لاءِ. مثال طور ، جيڪڏهن اسٽائل جو ٽيبل 10K ريڪارڊ آهي ، ته اسان وٽ 10K بٽ هوندي - هر هڪ قطار لاءِ.
  2. ڪالم تي ٺاهيل بٽ ميپ انڊيڪس جو تعداد ڪالم ۾ ڌار قدرن جي برابر هوندو. مثال طور ، GENDER ڪالمن لاءِ اسان وٽ ٻه بيٽ ميپ انڊيڪس ٺاهيا ويندا - هڪ مرد لاءِ ۽ هڪ عورت لاءِ ، ۽ سيمسٽر ڪالم لاءِ اسان وٽ چار بٽ ميپ انڊيڪس ٺاهيا ويندا - 1، 2، 3، ۽ 4.
  3. جيڪڏهن اسان وٽ قطار لاءِ ڪالم ۾ ڪا ئي مماثلت آهي ، ته قطار واري نمبر تي '1' ، ٻيو '0' هوندي. ان جو مطلب ، GENDER ڪالمن لاءِ اسان وٽ ٻه بٽ ميپ انڊيڪس هوندا - هڪ مرد لاءِ ۽ هڪ عورت لاءِ. 'نر' بيٽ نقشي جي انڊيڪس جي بٽ ويل قيمت 2 هوندي ، جيڪڏهن ان قطار ۾ GENDER بطور 'M' آهي ، ٻي صورت ۾ '1'.
پڻ ڏسو
فائيل پروسيسنگ سسٽم

تصور ڪريو اسان جي اسٽڊي واري ٽيبل جي مثال ۾ صرف چار رڪارڊ آهن ۽ هيٺيون قدر آهن.

 

  1. ضابطي 1 جي مطابق ، اسان وٽ جدول ۾ چار قطارون آھن ۽ اھڙي طرح اسان وٽ بٽيون ھجن ھا - ھر ھڪڙي قطار لاءِ.
  2. صنف ڪالم ۾ فقط ٻه قدر آھن - 'ايم' ۽ 'ايف'. انهي ڪري اسان وٽ ٻه بٽپپ انڊيڪس هوندا - هڪ ’ايم‘ لاءِ ۽ هڪ ’ايف‘ لاءِ.
  3. ھاڻي GENDER ڪالمن لاءِ بٽ ميپ انڊيڪس ھيٺ ڏنل آھي. هتي بٽ ميپ انڊيڪس ’ايم‘ جي قيمت ’1000‘ ظاهر آهي پهرين قطار جي صنف ’ايم‘ وانگر آهي ۽ باقي قطار ۾ صنف ’ايم‘ وانگر ناهي ، ساڳي طرح ، بيٽ ميپ انڊيڪس ’ايف‘ ظاهر ڪري ٿو پهرين قطار ’ف‘ ۽ باقي ناهي سڀني قطارن جي صنف ’ايف‘ وانگر آهي.

اهڙي طرح سيمسٽر لاءِ بٽ ميپ انڊيڪس هن ريت ٿي سگهي ٿو.

فرض ڪيو ته اسان کي انهن شاگردن شاگردن کي ڳولڻو آهي ، جيڪي ٻئي سيمسٽر ۾ آهن. هتي هي سوال رڪارڊ کي فلٽر ڪرڻ لاءِ ٻه ڪالم استعمال ڪري ٿو ، جتي ٻنهي وٽ گهٽ منفرد قدر وارا ڪالم آهن.

 

منتخب ڪريو جتي شاگرد نه آهي GENDER = 'ايف' ۽ سيمسٽر = 2؛

سوال ان ٻنهي ڪالمن جي بٽ ميپ انڊيڪس ڳولهيندو ۽ نتيجن جي حقيقي پتو حاصل ڪرڻ لاءِ انهن انڊيڪسز تي منطقي 'AND' آپريشن ڪندو.

بٽ ايمپ انڊيڪس ايف لاءِ: 0 1 1 1 
۽
SEM 2 لاءِ بٽ ميپ انڊيڪس: 0 0 1 0 
نتيجو 0 0 1 0   ان جو مطلب آهي ٽئين قطار لاءِ سوال جو نتيجو.

 

 

 

 

 

ٽيبل تي ڏسو ته صحيح آهي ته صحيح ٿيندي. ها ، ان جو نتيجو درست صف ۾ نڪتو. تنهن ڪري DBMS فائل ۾ ٽئين قطار ڏانهن وڃي ٿي ۽ صارف لاءِ نتيجو ڏيکاري ٿو.

پڻ ڏسو
ڊيٽا جي آزادي

هتي بٽ ميپ انڊيڪس آڻڻ ۽ نتيجو حاصل ڪرڻ لاءِ منطقي 'AND' آپريشن ڪرڻ سان مقابلو نسبتا تيز آهي. ان ڪري اھڙي قسم جي ڊيٽا لاءِ اسٽوريج جو طريقو ڪارائتو آھي.

جيڪڏهن اسان کي ٽيبل مان رڪارڊ ڪ toڻو پوندو ، اهو عارضي طور تي ختم ڪندڙ انڊيڪس ٺاهيندو. پوءِ اهو فلٽر ڪالمن ۽ عارضي انڊيڪس تي منطقي ’آپريشن‘ ڪندو ۽ ڊيٽا ٽيبل مان ڪ removeڻ لاءِ.

فرض ڪيو اسان کي عورت شاگرد کي 4 مان خارج ڪرڻو پوندوth سيمسٽر پوءِ انهي رڪارڊ کي حذف ڪرڻ ۾ ملوث قدم هيٺين طور تي آهن.

منتخب ڪريو جتي شاگرد نه آهي GENDER = 'ايف' ۽ سيمسٽر = 4؛

بٽ ايمپ انڊيڪس ايف لاءِ: 0 1 1 1
۽
SEM 2 لاءِ بٽ ميپ انڊيڪس: 0 0 0 1
۽
1 0 0 0  عارضي ڊاڪس انڊيڪس
نتيجو 0 0 0 0  هن جو مطلب ڪونهي قطار ۾ ، تنهن ڪري رڪارڊ خارج ٿيل آهي

بٽ ميپ انڊيڪس جا فائدا  

  • جيئن ته اسان اڳي ئي ڏسي چڪا آهيون ، اهو طريقو ريڪارڊ جي وڌيڪ جلدي حاصل ڪرڻ ۾ مدد ڏيندو آهي جڏهن ڪيڊلينٽيل ڪالم گهٽ هوندا آهن ۽ اهي ڪالم پڇاڙيءَ ۾ اڪثر استعمال ڪيا ويندا آهن. اهو طريقو ڪارائتو آهي جيتوڻيڪ اسان وٽ تمام وڏي ٽيبل آهي.
  • اهو طريقو وڌيڪ ڪارائتو آهي جڏهن ڪالمن کي گهٽ ۾ گهٽ شامل ڪيو ويو ته انٽرويو / تازه ڪاري / ختم ڪرڻ جي عمل آهي.
  • اهو ڪيترن ئي بٽ ميپ انڊيڪس کي گڏ ڪرڻ جي اجازت ڏئي ٿو جيئن سوال کي باهه ڏئي ڏجي جيئن اسان مٿي haveاڻايل مثالن ۾ ڏٺو آهي

بٽ ميپ انڊيڪس جي نقصان  

  • اهي نن smallڙيون ٽيبلز لاءِ مناسب نه آهن. نن tablesن جدولن ۾ ، ڊي بي ايم ايس بٽ ميپ انڊيڪس استعمال ڪرڻ بدران پوري ٽيبل اسڪين استعمال ڪرڻ تي مجبور ڪندو.
  • جڏھن اتي آھي گھڻن داخل/تازه ڪاري/حذف ڪريو ٽيبل تي مختلف استعمال ڪندڙن کان ، اھو ٿي سگھي ٿو ڊيڊ لاڪ تي جدولن تي. ان کي انجام ڏيڻ ۾ وقت لندو ڊي ايم ايل ٽرانزيڪشن ۽ پوءِ بٽ ميپ انڊيڪس کي اپڊيٽ ڪرڻ لاءِ. انھيءَ ڪري جڏھن اتي آھي گھڻن DML ٽرانزيڪشن مختلف استعمال ڪندڙن کان ، اھو قابل نه ھوندو ٽرانزيڪشن کي جلدي سرانجام ڏيڻ ، ۽ تعطل جو سبب بڻجڻ.
  • جڏهن ته وڏي تعداد ۾ رڪارڊ موجود آهي ، انهي بٽ ميپ انڊيڪس کي برقرار رکڻ جي لاءِ ڪو مٿانهون آهي. هر دفعي نئون نئون رڪارڊ داخل ٿيو آهي ، اسان کي س throughoutي بِٽ ميپ انڊيڪس ۾ ترميم ڪرڻي آهي ، جيڪا هڪ ٿڪائيندڙ ۽ وقت وڃائيندڙ آهي.
پڻ ڏسو
DBMS ۾ نظارا

SQL ۾ انڊيڪس  

SQL ۾ اسين هيٺ ڏنل سوال کي استعمال ڪندي بٽ ميپ انڊيڪس ٺاهي سگھو ٿا.

BITMAP INDEX انڊيڪس_ نالا ٺاھيو
ٽيبل_نام تي (ڪالم_ نالو) ؛

صنف ۽ سيمسٽر لاءِ بِٽ ميپ انڊيڪس ٺاهڻ لاءِ مٿي مثال طور هن ريت لکي سگهجي ٿو.

بٽ ميپ انڊيڪس IDX_GENDER ٺاھيو
شاگرد (صنف) تي ؛

بٽ ميپ انڊيڪس IDX_ SEMESTER ٺاھيو
شاگرد (سيمسٽر) ؛