Индекси су од велике помоћи. Без њих, МиСКЛ мора скенирати целу табелу да би пронашао одговарајуће редове и колоне, што може бити веома неефикасно у великим базама података.
Овај водич ће се фокусирати на то како приказати индексне информације помоћу клаузуле СХОВ ИНДЕКСЕС у МиСКЛ -у.
Покажи индексе табеле
Да бисмо приказали индексне информације у табели, користимо клаузулу СХОВ ИНДЕКСЕС иза које следи назив табеле за коју желимо да добијемо информације о индексу.
Општа синтакса је приказана као:
ПОКАЖИ ИНДЕКСЕ тбл_наме;
На пример, размотрите једну од табела у бази података узорка Сакила. Можемо добити информације о индексу као што је приказано у доњем упиту:
УСЕ сакила;ПРИКАЖИ ИНДЕКСЕ ИЗ филма;
Горњи упит ће приказати информације о индексу из табеле филмова у бази података Сакила. Излаз је:
Разумевање информација о индексу
Команда СХОВ ИНДЕКСЕС приказује релевантне информације о индексима у наведеној табели.
Ево следећих услова и одговарајућих информација:
- Сто: Ово је прва колона из излаза. Приказује назив табеле у којој се налази индекс.
- Није јединствено: Друга колона показује да ли индекс може да садржи дупликат. Вредност је логичка вредност, при чему 1 означава да индекс може да садржи дупликате, а 0 ако није другачије.
- Кеи_наме: Трећа колона приказује назив индекса. По договору, примарни кључ узима назив индекса ПРИМАРИ.
- Сек_ин_индек: Четврта колона приказује редни број колоне у индексу почевши од вредности 1.
- Име колоне: Пета колона је једноставно назив колоне.
- Успоредба: Шеста колона је одељак који приказује како се колона сортира у индексу. Постоје три вредности сортирања, при чему је А растући редослед, Б означава опадајући, а НУЛЛ неразврстане.
- Кардиналност: Седма колона приказује јединственост вредности података. У индексима приказује процењени број јединствених вредности у одређеном индексу.
- Поддео: Осма колона приказује префикс индекса са НУЛЛ, означавајући да је цела колона индексирана.
- Упаковано: Девета колона приказује начин паковања индексних кључева, при чему НУЛЛ означава да кључеви нису упаковани.
- Нула: Десета колона одређује да ли колона може да садржи НУЛЛ вредности. Да, ако колона може да садржи нулл вредности, а празна ако не.
- Индек_типе: Једанаеста колона приказује методу индекса као што су БТРЕЕ, ХАСХ, РТРЕЕ и ФУЛЛТЕКСТ.
- Коментар: Дванаеста колона приказује податке о индексу који нису описани у колони.
- Индек_цоммент: Тринаеста колона приказује додатне информације о индексу који је наведен помоћу атрибута ЦОММЕНТ када је креиран.
- Видљиво: Четрнаеста колона је индекс видљив оптимизатору упита, са вредностима Да и Не.
- Израз: Петнаеста колона приказује ако индекс користи израз, а не вредност префикса колоне или колоне.
НАГОВЕСТИТИ: Подаци о индексима из упита СХОВ ИНДЕКСЕС су слични онима из СКЛСтатистицс.
Прикажи индексе шема
Такође можете добити индексне информације о шеми. Општа синтакса за постизање овог резултата је следећа:
СЕЛЕЦТ табле_наме, индек_наме ФРОМ ИНФОРМАТИОН_СЦХЕМА.СТАТИСТИЦС ВХЕРЕ ТАБЛЕ_СЦХЕМА = сцхема_наме;Размотрите доњи упит који приказује информације о Сакила шеми:
СЕЛЕЦТ табле_наме, индек_наме ФРОМ информатион_сцхема.статистицс ВХЕРЕ табле_сцхема ='сакила';Ово ће приказати информације о индексима у Сакила шеми као што је приказано у доњем испису:
+ --------------- + ----------------------------- +|ТАБЛЕ_НАМЕ|ИНДЕКС_НАМЕ|
+ --------------- + ----------------------------- +
|глумац|ПРИМАРНИ|
|глумац|идк_ацтор_ласт_наме|
|адреса|ПРИМАРНИ|
|адреса|идк_фк_цити_ид|
|адреса|идк_лоцатион|
|категорија|ПРИМАРНИ|
|град|ПРИМАРНИ|
|град|идк_фк_цоунтри_ид|
|земља|ПРИМАРНИ|
|муштерија|ПРИМАРНИ|
|муштерија|идк_фк_сторе_ид|
|муштерија|идк_фк_аддресс_ид|
|муштерија|идк_ласт_наме|
|филм|ПРИМАРНИ|
|филм|идк_титле|
|филм|идк_фк_лангуаге_ид|
|филм|идк_фк_оригинал_лангуаге_ид|
|филм_ацтор|ПРИМАРНИ|
|филм_ацтор|ПРИМАРНИ|
|филм_ацтор|идк_фк_филм_ид|
|филм_цатегори|ПРИМАРНИ|
|филм_цатегори|ПРИМАРНИ|
|филм_цатегори|фк_филм_цатегори_цатегори|
|филм_тект|ПРИМАРНИ|
|филм_тект|идк_титле_десцриптион|
|филм_тект|идк_титле_десцриптион|
|инвентар|ПРИМАРНИ|
|инвентар|идк_фк_филм_ид|
|инвентар|идк_сторе_ид_филм_ид|
|инвентар|идк_сторе_ид_филм_ид|
|----------------------------- ИЗЛАЗ ТУНКЦИРАН ------------------- -------
Такође можете добити информације из свих шема на серверу помоћу доле приказаног упита:
СЕЛЕЦТ табле_наме, индек_наме ФРОМ информатион_сцхема.статистицс;БЕЛЕШКА : Горњи упит избацује много информација. Ретко ћете морати да добијете индексе из свих шема. Међутим, узорак резултата је испод:
+ -------------------- + ------------ +|ТАБЛЕ_НАМЕ|ИНДЕКС_НАМЕ|
+ -------------------- + ------------ +
|иннодб_табле_статс|ПРИМАРНИ|
|иннодб_табле_статс|ПРИМАРНИ|
|иннодб_индек_статс|ПРИМАРНИ|
|иннодб_индек_статс|ПРИМАРНИ|
|иннодб_индек_статс|ПРИМАРНИ|
+ -------------------- + ------------ +
Закључак
У овом водичу смо разговарали о томе како користити упит МиСКЛ СХОВ ИНДЕКСЕС за добијање информација о индексима у табели. Такође смо погледали коришћење информатион_сцхема да бисмо добили информације о индексима из једне или свих шема на МиСКЛ серверу.