ПредишенСледващото

Индекси в PostgreSQL Postgres професионална компания

В тази поредица от статии ще се фокусира върху индекси в PostgreSQL.

Всеки въпрос, може да се разглежда от различни гледни точки. Ще говорим за това, което трябва да се интересуват от разработчика на приложението, като се използва СУБД: какво съществуват индекси, защо PostgreSQL толкова много различни, и как да ги използват, за да се ускори запитвания. Може би, темата може да бъде отворен и по-малко думи, но ние тайно се надявам за любопитни разработчици, които също се интересуват от детайлите на вътрешната структура и, освен това, че разбирането на такива подробности не само да слушате мнението на другите, но също така да изготвят свои собствени заключения.

Индекси в PostgreSQL Postgres професионална компания

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

Всички методи за достъп имот са представени в таблица pg_am (съм - метод на достъп). можете да си получите списък с наличните методи в тази таблица: btree, хашиш, същност, джин, spgist Брин

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

Индекси в PostgreSQL Postgres професионална компания

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

Много съвременни езици за програмиране включват хеш таблицата като вид база данни. Външно това изглежда като обикновен масив, но се използва като индекс не е цяло число, както и всякакъв вид данни (например, низ). Hash индекс в PostgreSQL е подредена по подобен начин. Как става това?

Индекси в PostgreSQL Postgres професионална компания

Ние вече обсъдени PostgreSQL индексиране механизъм и методи за достъп интерфейс, както и един от методите за достъп - хеш индекс. Сега нека да поговорим за най-традиционните и индексите се използва - B-дърво. Главата за да получите повече, които ще бъдат запазени от търпение.

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

Индекси в PostgreSQL Postgres професионална компания

GiST - съкратено от «генерализирано търсене дърво». Той е един балансиран търсене дърво, по същия начин, както е обсъдено по-рано б-дърво.

Каква е разликата? индекс б-дърво е здраво прикрепен към семантиката на сравнение, подкрепа за "повече" оператори, "по-малко от", "равни" - това е всичко, което той може да направи (но способен много добра!). Но в съвременните бази данни се съхраняват, както и тези типове данни, за които операторите просто нямат смисъл: информация за местоположението, текстови документи, снимки ...


В петата част на поредицата на индексите в PostgreSQL база данни от статии, не спира и сега Игор Рогов пише продължение.

Индекси в PostgreSQL Postgres професионална компания

Подкрепете проекта - споделете линка, благодаря!