Үйме кестелер мен кластерлік кестелер арасындағы айқын айырмашылықтар SQL Server

Қазір бөлісу:

Келесі мақалада үйінді кестелері мен кластерлік кестелер арасындағы негізгі айырмашылықтар түсіндіріледі.

Кестелермен жұмыс жасау кезінде SQL Server, пайдаланушылар кластерлік кестелерді немесе үйінді кестелерді пайдалану мәселесінде жиі қиындықтарға тап болады. Кластерлік индексі жоқ кестелер үйінді кестелер деп аталады, ал кластерлік индекстері бар кластерлік кестелер деп аталады. Кластерлік индекс негізінен жазбалардың кестеде физикалық түрде сақталу жолын өзгертеді. Деректер беттері кластерленген индекстің парақ түйіндерінде болады.

Үйме кестелер мен кластерлік кестелер арасындағы айырмашылықтар

Мақалада осы екі кесте түрі егжей-тегжейлі қарастырылады.

Кластерлік және үйінді кестелер

Кластерлік кестелер пайдаланушыларға үйінді кестелерден гөрі көп артықшылықтар береді, өйткені олар үйкелім кестелеріне қарағанда жылдамырақ жолдарды табуға және кластерлік индексті қалпына келтіру арқылы деректерді / жазбаларды физикалық сақтауға көмектеседі.

Егер сіздің деректеріңіздегі кестелерге қарсы INSERT, DELETE және UPDATE әрекеттері көбірек болса, сіздің физикалық деректеріңіз бөлшектенуі мүмкін. Бөлшектелген мәліметтер бос және қажетсіз кеңістікті толықтыра алатыны белгілі, өйткені егер сіз сұрау жасасаңыз, онда ол тағы бірнеше парақ оқуы керек, өйткені қазір толық парақтар бар. Деректердің фрагментация мәселесін шешудің жолдарын анықтайық.

Үйме және кластерлік кесте арасындағы айырмашылық

Бөлшектеу мәселесін сіздің кестеңізде / сек-терде кластерленген индекстің болуы қажеттілігін анықтау арқылы шешуге болады. Ақыр соңында, бұл сіздің кестеңіздің физикалық сақталуын реттейтін кластерлік немесе үйінді индексі. Деректер қорындағы кез-келген кестеде индекстің тек бір түрі болуы мүмкін. Таңдау үшін біз осы екеуінің арасындағы келесі негізгі айырмашылықтарды түсінуіміз керек.

  1. Үйінділерде деректерді сақтау тәртібі жоқ, бірақ кластерлерде деректерді сақтау кластерлік индекс кілтіне байланысты болады. 
  2. Деректер парақтары Heap-де байланыстырылмаған, ал Кластерлік кестеде олар бір-бірімен байланысқан және жылдамдықты қол жетімділік бар.
  3. Үйіндіде индекс_ид мәні 0, кластерде sys.indexes каталогты қарау үшін 1 индекс_ид мәні бар
  4. Кластерлік индекс деректерді үйінді кестеге қарағанда тезірек алады, өйткені кластерлік индекс кілті бар

Фрагментация

Кластерлік және үйінді кестелер арасындағы айырмашылықтарға сүйене отырып, фрагментация мәселесін шешуге болады. Бөлшектеу INSERT, DELETE және UPDATE әрекеттерін қолдану салдарынан болады. Егер сізде үйінді кесте болса және онда тек INSERT белсенділігі болса, онда фрагментация болмайды. Егер сіз индекстің дәйекті кілтін қолдансаңыз (идентификация мәні) және тек INSERTS болса, онда сіздің кластерленген индексіңіз үзінді болмайды. Егер сіз көптеген INSERTS немесе DELETES қолдансаңыз, онда кестелер бөлшектенеді.

Сонымен, кластерлік индексті қолдануға кеңес беріледі, өйткені ол индекс кілтіне тәуелді және аз орын алады. Бос кеңістікте бұрыннан бар парақтарға жаңа жазбалар жазуға болады.

Үйінді немесе кластерлік кестенің қолданылуын анықтау үшін DBCC SHOWCONTIG немесе жаңа DMV-ді қосып көруге болады, өйткені екі команда да сіздің кестелеріңіздегі фрагментация мәселелеріне қатысты түсінік береді. Кластерлік кестеде фрагменттеуді кластерлік индексті қайта құру немесе қалпына келтіру арқылы шешуге болады.    

Инвестиция а SQL Server жөндеу құрал МС қолданатын компаниялар үшін міндетті болып табылады SQL Server олардың өндірістік серверлеріндегі мәліметтер базасы. Шын мәнінде, бұл дерекқор бұзылған жағдайда құтқарушы бола алады.

Автордың кіріспесі:

Виктор Саймон - деректерді қалпына келтіру бойынша сарапшы DataNumen, Соның ішінде деректерді қалпына келтіру технологиялары бойынша әлемдік көшбасшы болып табылатын Inc. mdb жөндеу және SQL қалпына келтіру бағдарламалық жасақтама өнімдері. Қосымша ақпарат алу үшін кіріңіз https://www.datanumen.com/

Қазір бөлісу:

Пікірлер жабылды.