4 Վառ տարբերություններ կույտ սեղանների և կլաստերային աղյուսակների միջև SQL Server

Կիսվել հիմա ՝

Հետևյալ հոդվածը բացատրում է Heap աղյուսակների և Clustered աղյուսակների հիմնական տարբերությունները:

Սեղանների հետ աշխատելիս SQL Server, օգտվողները հաճախ բախվում են կլաստերային աղյուսակների կամ կույտային աղյուսակների օգտագործման երկընտրանքի: Աղյուսակները, որոնք չունեն կլաստերային ինդեքսներ, կոչվում են կույտային աղյուսակներ, իսկ նրանք, ովքեր ունեն կլաստերային ինդեքսներ, կոչվում են կլաստերային աղյուսակներ: Կլաստերային ինդեքսը հիմնականում վերադասավորում է այն ձևը, որով գրառումները ֆիզիկապես պահվում են աղյուսակում: Տվյալների էջերը պարունակվում են կլաստերային ինդեքսի տերևային հանգույցներում:

Տարբերությունները կույտային աղյուսակների և կլաստերային աղյուսակների միջև

Հոդվածում ավելի մանրամասն քննարկվում են այս երկու աղյուսակների տեսակները:

Կլաստերային և կույտային աղյուսակներ

Կլաստերային աղյուսակները օգտվողներին ավելի շատ առավելություններ են տալիս, քան կույտ աղյուսակները, քանի որ դրանք օգնում են օգտվողներին օգտագործել ինդեքսները՝ ավելի արագ տողեր գտնելու, քան կույտ աղյուսակները և ֆիզիկապես պահպանել տվյալները/գրառումները՝ վերակառուցելով կլաստերային ինդեքսը:

Ձեր ֆիզիկական տվյալները կարող են մասնատվել, եթե ձեր տվյալների աղյուսակների դեմ ավելի շատ INSERT, DELETE և UPDATE գործողություններ լինեն: Հայտնի է, որ մասնատված տվյալները կարող են ավելացնել վատնված և անցանկալի տարածք, քանի որ եթե հարցում եք կատարում, այն պետք է կարդա ևս մի քանի էջ, քանի որ այժմ կան ավելի մասամբ ամբողջական էջեր: Եկեք պարզենք տվյալների մասնատման խնդիրը լուծելու ուղիները։

Տարբերությունը կույտի և կլաստերային աղյուսակի միջև

Հատվածության խնդիրը կարող է լուծվել՝ որոշելով ձեր աղյուսակում կամ ոչ խմբավորված ինդեքս ունենալու անհրաժեշտությունը: Ի վերջո, դա կլաստերային կամ կույտային ինդեքսն է, որը կարգավորում է ձեր սեղանի ֆիզիկական պահեստը: Ձեր տվյալների բազայի ցանկացած աղյուսակ կարող է ունենալ միայն մեկ տեսակի ինդեքս: Ընտրություն կատարելու համար մենք պետք է հասկանանք այս երկուսի միջև եղած հիմնական տարբերությունները, որոնք հետևյալն են.

  1. Կույտում տվյալների պահպանման կարգ չկա, բայց Կլաստերի դեպքում տվյալների պահպանումն ունի կարգ՝ կախված կլաստերային ինդեքսային բանալիից: 
  2. Տվյալների էջերը կապակցված չեն Heap-ում, մինչդեռ Clustered աղյուսակում դրանք կապված են և կա ավելի արագ հաջորդական մուտք:
  3. Heap-ն ունի 0 index_id արժեք, իսկ Clustered-ը՝ 1 index_id արժեք sys.indexes կատալոգի դիտման համար
  4. Clustered Index-ը տվյալներ է առբերում ավելի արագ, քան կույտային աղյուսակը, քանի որ կա Clustered Index բանալի

Ֆրագմենտացիա

Կլաստերի և կույտային աղյուսակների միջև եղած տարբերությունների հիման վրա կարելի է լուծել մասնատման խնդիրը: Մասնատումը տեղի է ունենում INSERT, DELETE և UPDATE գործողությունների օգտագործման պատճառով: Այնուամենայնիվ, եթե դուք ունեք Heap Table և կա միայն INSERT գործունեությունը, ապա մասնատումը տեղի չի ունենա: Եթե ​​դուք օգտագործում եք հաջորդական ինդեքսային բանալի (Identity Value) և ունեք միայն ներդիրներ, ապա ձեր կլաստերային ինդեքսը չի մասնատվի: Բայց եթե դուք օգտագործում եք շատ ներդիրներ կամ Ջնջումներ, ապա աղյուսակները կդառնան մասնատված:

Այսպիսով, խորհուրդ է տրվում օգտագործել Clustered Index-ը, քանի որ այն կախված է Index ստեղնից և ավելի քիչ տարածք է ծախսում: Նոր գրառումները կարող են գրվել արդեն գոյություն ունեցող էջերում առկա ազատ տարածքում:

Կույտային կամ կլաստերացված աղյուսակի օգտագործումը որոշելու համար կարող եք նաև փորձել գործարկել DBCC SHOWCONTIG կամ նոր DMV, քանի որ այս երկու հրամանները կարող են ձեզ պատկերացում կազմել ձեր աղյուսակների մասնատման խնդիրների վերաբերյալ: Կլաստերային աղյուսակում մասնատումը կարող է լուծվել՝ վերակազմավորելով կամ վերակառուցելով ձեր կլաստերային ինդեքսը:    

Ներդրումներ կատարել ա SQL Server նորոգում գործիքը պարտադիր է MS օգտագործող ընկերությունների համար SQL Server տվյալների բազա իրենց արտադրության սերվերների վրա: Իրականում այն ​​կարող է փրկարար լինել տվյալների բազայի խափանման դեպքում:

Հեղինակի ներածություն.

Վիկտոր Սիմոնը տվյալների վերականգնման փորձագետ է DataNumen, Inc., որը տվյալների վերականգման տեխնոլոգիաների համաշխարհային առաջատարն է, այդ թվում վերանորոգել mdb և sql վերականգնման ծրագրային արտադրանքները: Լրացուցիչ տեղեկությունների համար այցելեք https://www.datanumen.com/

Կիսվել հիմա ՝

Մեկ պատասխան «4 ակնառու տարբերություններ կույտային աղյուսակների և կլաստերային աղյուսակների միջև SQL Server"

Թողնել գրառում

Ձեր էլփոստի հասցեն չի հրապարակվելու. Պահանջվող դաշտերը նշված են աստղանիշով *