Кластер және кластерлік емес индекс
Кез келген дерекқорда индекстер өте маңызды. Олар кестелерден деректерді алу өнімділігін жақсарту үшін қолданылады. Олар байланысты кестелердегі деректерден логикалық және физикалық тәуелсіз. Демек, индекстерді негізгі кестелердің деректеріне әсер етпей тастауға, қайта жасауға және қайта құруға болады. Oracle сервері сәйкес кестелер енгізілген, жаңартылған және жойылған кезде DBA қатысуынсыз өз индекстерін автоматты түрде сақтай алады. Индекстің бірнеше түрі бар. Міне, олардың кейбіреулері.
1. B-ағаш индекстері
2. Растрлық индекстер
3. Функцияға негізделген индекстер
4. Кері кілттік индекстер
5. B-ағаш кластерінің индекстері
Кластерлік емес индекс дегеніміз не?
Жоғарыдағы индекс түрлерінен келесілер кластерленбеген индекстер болып табылады.
• B-ағаш индексі
• Растрлық индекс
• Функцияға негізделген индекс
• Кері кілттік индекстер
B-ағаш индекстері дерекқорлардың ең көп қолданылатын индекс түрі болып табылады. Дерекқорда CREATE INDEX пәрмені түрін көрсетпей шығарылса, Oracle сервері b-ағаш индексін жасайды. Белгілі бір бағанда b-ағаш индексі жасалғанда, oracle сервері баған мәндерін сақтайды және кестенің нақты жолына сілтемені сақтайды.
Нүктелік кескін индекстері баған деректері өте таңдаулы болмаған кезде жасалады. Бұл дегеніміз, баған деректерінің түбегейлілігі төмен. Бұлар арнайы деректер қоймалары үшін әзірленген және растрлық индекстерді жоғары жаңартылатын немесе транзакциялық кестелерде пайдалану дұрыс емес.
Функционалдық индекстер Oracle 8i жүйесінен келеді. Мұнда функция индекстелген бағанда пайдаланылады. Сондықтан функционалдық индексте баған деректері қалыпты түрде сұрыпталмайды. Ол функцияны қолданғаннан кейін бағандардың мәндерін сұрыптайды. Бұлар таңдау сұрауының WHERE жабылуы функция пайдаланылғанда өте пайдалы.
Кері кілтті индекстер өте қызықты индекс түрі болып табылады. Бағанның құрамында «cityA», «cityB», «cityC» және т.б. сияқты көптеген бірегей жол деректері бар делік. Барлық мәндердің үлгісі бар. Алғашқы төрт таңба бірдей, ал келесі бөліктер өзгертіледі. Осы бағанда REVERSE кілт индексі жасалғанда, Oracle жолды кері өзгертеді және оны b-ағаш индексінде қалпына келтіреді.
Жоғарыда аталған индекс түрлері КЛАСТЕРЛІК ЕМЕС индекстер. Яғни, индекстелген деректер кестеден тыс сақталады және кестеге сұрыпталған сілтеме сақталады.
Кластерлік индекс дегеніміз не?
Кластерленген индекстер – индекстердің ерекше түрі. Ол кесте деректерін физикалық түрде сақтау тәсіліне сәйкес деректерді сақтайды. Сонымен, бір кесте үшін көп кластерленген индекстер болуы мүмкін емес. Бір кестеде тек бір кластерленген индекс болуы мүмкін.
Кластерленген және кластерлік емес индекстердің айырмашылығы неде?
1. Кестеде бір ғана кластерленген индекс болуы мүмкін, бірақ бір кестеде 249 кластерленбеген индекстер болуы мүмкін.
2. Кластерленген индекс бастапқы кілт жасалған кезде автоматты түрде жасалады, бірақ бірегей кілт жасалған кезде кластерленбеген индекс жасалады.
3. Кластерленген индекстің логикалық реті кесте деректерінің физикалық тәртібіне сәйкес келеді, бірақ кластерленбеген индекстерде ол сәйкес келмейді.