Տարբերություն կլաստերային և ոչ կլաստերային ինդեքսների միջև

Տարբերություն կլաստերային և ոչ կլաստերային ինդեքսների միջև
Տարբերություն կլաստերային և ոչ կլաստերային ինդեքսների միջև

Video: Տարբերություն կլաստերային և ոչ կլաստերային ինդեքսների միջև

Video: Տարբերություն կլաստերային և ոչ կլաստերային ինդեքսների միջև
Video: Մարմնի որ հոտը ինչ հիվանդություն է նախանշում 2024, Հուլիսի
Anonim

Կլաստեր ընդդեմ ոչ կլաստերային ինդեքս

Ցուցանիշները շատ կարևոր են ցանկացած տվյալների բազայում: Դրանք օգտագործվում են աղյուսակներից տվյալների որոնման արդյունավետությունը բարելավելու համար: Դրանք տրամաբանորեն և ֆիզիկապես անկախ են կապված աղյուսակների տվյալներից: Հետևաբար, ինդեքսները կարող են գցել, վերստեղծվել և վերակառուցվել՝ առանց բազային աղյուսակների տվյալների վրա ազդելու: Oracle սերվերը կարող է ավտոմատ կերպով պահպանել իր ինդեքսները՝ առանց որևէ DBA-ի ներգրավման, երբ հարակից աղյուսակները տեղադրվեն, թարմացվեն և ջնջվեն: Կան մի քանի ինդեքսների տեսակներ. Ահա դրանցից մի քանիսը:

1. B-tree ինդեքսներ

2. Bitmap ինդեքսներ

3. Գործառույթների վրա հիմնված ինդեքսներ

4. Հակադարձ բանալի ինդեքսներ

5. B-tree կլաստերի ինդեքսներ

Ի՞նչ է ոչ կլաստերային ինդեքսը:

Վերոնշյալ ինդեքսի տեսակներից հետևյալն են ոչ կլաստերային ինդեքսները:

• B-tree ինդեքս

• Bitmap ինդեքս

• Ֆունկցիայի վրա հիմնված ինդեքս

• Հակադարձ բանալիների ինդեքսներ

B-tree ինդեքսները տվյալների բազաների ամենալայն կիրառվող ինդեքսային տեսակն են: Եթե CREATE INDEX հրամանը տրվում է տվյալների բազայում, առանց տեսակ նշելու, Oracle սերվերը ստեղծում է b-tree ինդեքս: Երբ որոշակի սյունակի վրա ստեղծվում է b-tree ինդեքս, Oracle սերվերը պահպանում է սյունակի արժեքները և հղում է անում աղյուսակի իրական տողին:

Bitmap ինդեքսները ստեղծվում են, երբ սյունակի տվյալները շատ ընտրովի չեն: Դա նշանակում է, որ սյունակի տվյալները ցածր կարդինալություն ունեն: Սրանք հատուկ նախագծված են տվյալների պահեստների համար, և լավ չէ օգտագործել bitmap ինդեքսները խիստ թարմացվող կամ գործարքային աղյուսակների վրա:

Ֆունկցիոնալ ինդեքսները գալիս են Oracle 8i-ից: Այստեղ ինդեքսավորված սյունակում օգտագործվում է ֆունկցիա: Հետևաբար, ֆունկցիոնալ ինդեքսում սյունակի տվյալները սովորական ձևով չեն դասակարգվում: Այն տեսակավորում է սյունակների արժեքները ֆունկցիան կիրառելուց հետո։ Սրանք շատ օգտակար են, երբ ընտրված հարցման WHERE փակման դեպքում օգտագործվում է ֆունկցիա:

Հակադարձ բանալիների ինդեքսները շատ հետաքրքիր ինդեքսների տեսակ են: Ենթադրենք, որ սյունակը պարունակում է բազմաթիվ եզակի տողային տվյալներ, ինչպիսիք են «cityA», «cityB», «cityC»… և այլն: Բոլոր արժեքներն ունեն օրինաչափություն. Առաջին չորս նիշերը նույնն են, իսկ հաջորդ մասերը փոխված են: Այսպիսով, երբ REVERSE բանալի ինդեքսը ստեղծվի այս սյունակում, Oracle-ը կփոխի տողը և կվերականգնի այն b-tree ինդեքսում:

Վերոհիշյալ ինդեքսի տեսակները ՈՉ ԿԼԱՍՏԵՐ ինդեքսներ են: Դա նշանակում է, որ ինդեքսավորված տվյալները պահվում են աղյուսակից դուրս և պահվում է աղյուսակի տեսակավորված հղում:

Ի՞նչ է կլաստերային ինդեքսը:

Կլաստերային ինդեքսները ինդեքսների հատուկ տեսակ են: Այն պահպանում է տվյալները՝ ըստ աղյուսակի տվյալների ֆիզիկապես պահպանման եղանակի: Այսպիսով, մեկ աղյուսակի համար շատ կլաստերային ինդեքսներ չեն կարող լինել: Մեկ աղյուսակը կարող է ունենալ միայն մեկ կլաստերային ինդեքս։

Ո՞րն է տարբերությունը կլաստերային և ոչ կլաստերային ինդեքսների միջև:

1. Աղյուսակը կարող է ունենալ միայն մեկ կլաստերային ինդեքս, սակայն մեկ աղյուսակում կարող է լինել մինչև 249 ոչ կլաստերային ինդեքս։

2. Կլաստերային ինդեքսը ավտոմատ կերպով ստեղծվում է, երբ ստեղծվում է հիմնական բանալի, բայց ոչ կլաստերային ինդեքսը ստեղծվում է, երբ ստեղծվում է եզակի բանալի:

3. Կլաստերացված ինդեքսի տրամաբանական հերթականությունը համընկնում է աղյուսակի տվյալների ֆիզիկական կարգի հետ, բայց ոչ կլաստերային ինդեքսներում՝ ոչ:

Խորհուրդ ենք տալիս: