Индекс на база данни: Въведение за начинаещи

Индекс на база данни: Въведение за начинаещи

„Индекс на база данни“ се отнася до специален вид структура от данни, която ускорява извличането на записи от таблица на база данни. Индексите на базата данни гарантират, че можете да намерите и да получите достъп до данните в таблица с база данни ефективно, без да се налага да търсите всеки ред всеки път, когато се обработва заявка към база данни.





Индекс на база данни може да се оприличи на индекс на книга. Индексите в базите данни ви насочват към записа, който търсите в базата данни, точно както индексната страница на книга ви насочва към желаната от вас тема или глава.





Въпреки това, въпреки че индексите на базата данни са от съществено значение за бързо и ефективно търсене и достъп до данни, те заемат допълнително място за запис и памет.





Какво е индекс?

Индексите на базата данни са специални таблици за търсене, състоящи се от две колони. Първата колона е ключът за търсене, а втората е показалецът за данни. Ключовете са стойностите, които искате да търсите и извличате от таблицата на базата данни, а показалецът или препратката съхраняват адреса на блока на диска в базата данни за този конкретен ключ за търсене. Ключовите полета са сортирани така, че да ускорят операцията по извличане на данни за всички ваши заявки.

Защо да използвате индексиране на база данни?

Тук ще ви покажа по опростен начин индексите на базата данни. Да приемем, че имате таблица с база данни от осемте служители, работещи в компания, и искате да търсите информацията за последния запис в таблицата. Сега, за да намерите предишния запис, трябва да потърсите всеки ред от базата данни.



Да предположим обаче, че сте сортирали таблицата по азбучен ред въз основа на името на служителите. Така че тук ключовете за индексиране се основават на колоната с име. В този случай, ако търсите последния запис, Зак , можете да скочите до средата на таблицата и да решите дали записът ни идва преди или след колоната.

Както знаете, той ще дойде след средния ред и отново можете да разделите редовете след средния ред наполовина и да направите подобно сравнение. По този начин не е нужно да преминавате през всеки ред, за да намерите последния запис.





Ако компанията имаше 1 000 000 служители и последният запис беше Зак, ще трябва да потърсите 50 000 реда, за да намерите името му. Докато с азбучно индексиране можете да го направите в няколко стъпки. Сега можете да си представите колко по -бързо може да стане търсенето и достъпът до данни с индексиране на база данни.

Свързани: 13 най -важни SQL команди, които всеки програмист трябва да знае





Различни методи за организиране на файлове за индекси на бази данни

Индексирането зависи до голяма степен от използвания механизъм за файлова организация. Обикновено има два вида методи за организация на файлове, използвани при индексиране на база данни за съхраняване на данни. Те са обсъдени по -долу:

1. Подреден индексен файл: Това е традиционният метод за съхранение на индексни данни. В този метод ключовите стойности се сортират в определен ред. Данните в подреден индексен файл могат да се съхраняват по два начина.

  • Оскъден индекс: При този тип индексиране се създава индексен запис за всеки запис.
  • Индекс на плътност: При плътно индексиране се създава индексен запис за някои записи. За да намерите запис в този метод, първо трябва да намерите най -значимата стойност на ключа за търсене от индексните записи, които са по -малки или равни на стойността на ключа за търсене, която търсите.

2. Организация на хеш файла: В този метод за организация на файлове, хеш функция определя местоположението или блока на диска, където се съхранява запис.

Видове индексиране на бази данни

Като цяло има три метода за индексиране на база данни. Те са:

  • Клъстерно индексиране
  • Некластеризирано индексиране
  • Индексиране на много нива

1. Клъстерно индексиране

При клъстерното индексиране един единствен файл може да съхранява повече от два записа на данни. Системата съхранява действителните данни в клъстерно индексиране, а не в указателите. Търсенето е икономически ефективно с клъстерно индексиране, тъй като съхранява всички свързани данни на едно и също място.

как изглежда тъмната мрежа

Индексът за групиране използва подредени файлове с данни, за да се дефинира. Също така, присъединяването към множество таблици на база данни е много често при този тип индексиране.

Възможно е също така да се създаде индекс на базата на не-първични колони, които не са уникални за всеки ключ. В такива случаи той комбинира множество колони, за да образува уникалните ключови стойности за групирани индекси.

Така че, накратко, индексите за групиране са мястото, където се групират подобни типове данни и за тях се създават индекси.

Пример: Да предположим, че има компания, която има над 1000 служители в 10 различни отдела. В този случай компанията трябва да създаде индексиране на клъстери в своята СУБД, за да индексира служителите, които работят в същия отдел.

Всеки клъстер със служители, работещи в същия отдел, ще бъде дефиниран като един клъстер, а указателите на данни в индексите ще се отнасят към клъстера като цяло.

Свързани: Какво представляват чуждестранните ключове в SQL бази данни?

2. Некластеризирано индексиране

Некластеризираното индексиране се отнася до вид индексиране, при който редът на индексните редове не е същият като начина на физическо съхранение на оригиналните данни. Вместо това некластериран индекс сочи към хранилището на данни в базата данни.

Пример: Некластеризираното индексиране е подобно на книга, която има страница със подредено съдържание. Тук показалецът или препратката към данни е страницата с подредено съдържание, която е сортирана по азбучен ред, а действителните данни са информацията на страниците на книгата. Страницата със съдържание не съхранява информацията на страниците на книгата в техния ред.

3. Индексиране на много нива

Многостепенното индексиране се използва, когато броят на индексите е много голям и не може да съхранява първичния индекс в основната памет. Както може би знаете, индексите на база данни включват ключове за търсене и указатели за данни. Когато размерът на базата данни се увеличи, броят на индексите също расте.

Въпреки това, за да се осигури операция за бързо търсене, е необходимо индексните записи да се съхраняват в паметта. Ако се използва индекс на едно ниво, когато индексният номер е висок, е малко вероятно да се съхранява този индекс в паметта поради неговия размер и множество достъп.

Тук се появява многостепенното индексиране. Тази техника разбива индекса на едно ниво на множество по-малки блокове. След разпадането блокът от външно ниво става толкова малък, че лесно може да се съхранява в основната памет.

Свързани: Как да се свържете с MySQL база данни с Java

Какво представлява фрагментацията на SQL индекса?

Когато всеки ред на индексните страници не съвпада с физическия ред във файла с данни, причинява фрагментация на SQL индекса. Първоначално всички SQL индекси се намират без фрагментация, но тъй като използвате базата данни (Вмъкване/Изтриване/Промяна на данни) многократно, това може да причини фрагментация.

Освен фрагментацията на базата данни, вашата база данни може да се сблъска и с други жизненоважни проблеми като повреда на базата данни. Това може да доведе до загуба на данни и увреждане на уебсайт. Ако правите бизнес с уебсайта си, това може да бъде фатален удар за вас.

Дял Дял Туит електронна поща Данните на SQL Server са повредени? Опитайте се да го възстановите с SQL Toolbox Toolbox

Recovery Toolbox за SQL Server помага да се поправят повредените MDF файлове на MS SQL Server за всички версии.

телефонът ми прегря и няма да се включи
Прочетете Напред Свързани теми
  • Програмиране
  • SQL
  • Анализ на данни
  • база данни
За автора Задхид А. Пауъл(16 статии са публикувани)

Задхид Пауъл е компютърен инженер, който се отказа от кодирането, за да започне да пише! Наред с това той е дигитален маркетолог, ентусиаст на технологиите, експерт по SaaS, читател и запален последовател на софтуерните тенденции. Често може да го срещнете да клати в центъра на клуба с китарата си или да проверява гмуркането на океанското дъно.

Още от Zadhid A. Powell

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!

Щракнете тук, за да се абонирате