Postgresql indexes



Download 19,85 Kb.
Sana12.01.2022
Hajmi19,85 Kb.
#353464
Bog'liq
PostgreSQL


PostgreSQL - INDEXES

Indekslar - bu ma'lumotlar bazasi qidiruvi ma'lumotlarni qidirishni tezlashtirish uchun foydalanishi mumkin bo'lgan maxsus qidirish jadvallari. Oddiy qilib aytganda, indeks jadvaldagi ma'lumotlarga ko'rsatgichdir. Ma'lumotlar bazasidagi indeks kitobning orqa qismidagi indeksga juda o'xshaydi.

Misol uchun, agar siz ma'lum bir mavzuni muhokama qiladigan kitobning barcha sahifalariga havola qilmoqchi bo'lsangiz, avval barcha mavzularni alifbo tartibida ko'rsatadigan indeksga murojaat qilishingiz va keyin bir yoki bir nechta maxsus sahifa raqamlariga murojaat qilishingiz kerak.

Indeks SELECT so'rovlarini va WHERE bandlarini tezlashtirishga yordam beradi; ammo, u UPDATE va INSERT iboralari bilan ma'lumotlarni kiritishni sekinlashtiradi. Indekslar ma'lumotlarga ta'sir qilmasdan yaratilishi yoki o'chirilishi mumkin.

Indeks yaratish indeksni nomlash, jadval va qaysi ustun yoki ustunlar indekslanishini belgilash hamda indeksning o‘sish yoki kamayish tartibida ekanligini ko‘rsatish imkonini beruvchi CREATE INDEX operatorini o‘z ichiga oladi.

Indekslar, shuningdek, UNIQUE chekloviga o'xshash noyob bo'lishi mumkin, chunki indeks indeks joylashgan ustunlar yoki ustunlar birikmasidagi takroriy yozuvlarni oldini oladi.

CREATE INDEX buyrug'i

CREATE INDEX ning asosiy sintaksisi quyidagicha -

CREATE INDEX index_name ON table_name;

Indeks turlari

PostgreSQL bir nechta indeks turlarini taqdim etadi: B-tree, Hash, GiST, SP-GiST va GIN. Har bir Indeks turi so'rovlarning har xil turlariga eng mos keladigan boshqa algoritmdan foydalanadi. Odatiy bo'lib, CREATE INDEX buyrug'i eng keng tarqalgan vaziyatlarga mos keladigan B-daraxt indekslarini yaratadi.

Bir ustunli indekslar

Bir ustunli indeks faqat bitta jadval ustuni asosida yaratilgan indeksdir. Asosiy sintaksis quyidagicha -

CREATE INDEX index_name

ON table_name (column_name);

Ko'p ustunli indekslar

Ko'p ustunli indeks jadvalning bir nechta ustunlarida aniqlanadi. Asosiy sintaksis quyidagicha -

CREATE INDEX index_name

ON table_name (column1_name, column2_name);

Bitta ustunli indeks yoki ko‘p ustunli indeks yaratishda filtr shartlari sifatida so‘rovning WHERE bandida tez-tez ishlatishingiz mumkin bo‘lgan ustun(lar)ni hisobga oling.

Agar faqat bitta ustun bo'lsa, bitta ustunli indeks tanlov bo'lishi kerak. WHERE bandida filtr sifatida tez-tez ishlatiladigan ikki yoki undan ortiq ustunlar bo'lsa, ko'p ustunli indeks eng yaxshi tanlov bo'ladi.

Noyob indekslar

Noyob indekslar nafaqat ishlash, balki ma'lumotlar yaxlitligi uchun ham qo'llaniladi. Noyob indeks jadvalga takroriy qiymatlarni kiritishga ruxsat bermaydi. Asosiy sintaksis quyidagicha -

CREATE UNIQUE INDEX index_name

on table_name (column_name);

Qisman indekslar

Qisman indeks - jadvalning kichik to'plami ustiga qurilgan indeks; kichik to'plam shartli ifoda bilan aniqlanadi (qisman indeksning predikati deb ataladi). Indeks faqat predikatni qondiradigan jadval qatorlari uchun yozuvlarni o'z ichiga oladi. Asosiy sintaksis quyidagicha -

CREATE INDEX index_name

on table_name (conditional_expression);

Yashirin indekslar

Yashirin indekslar - ob'ekt yaratilganda ma'lumotlar bazasi serveri tomonidan avtomatik ravishda yaratiladigan indekslar. Indekslar avtomatik ravishda asosiy kalit cheklovlari va noyob cheklovlar uchun yaratiladi.

Misol

Quyida biz KOMPANIYA jadvalida ish haqi ustuni uchun indeks yaratadigan misoldir -



# CREATE INDEX salary_index ON COMPANY (salary);

Keling, \d company buyrug'i yordamida KOMPANIYA jadvalida mavjud bo'lgan barcha indekslarni sanab o'tamiz .

# \d company

Bu quyidagi natijani beradi, bu erda company_pkey - jadval yaratilganda yaratilgan yashirin indeks.

Table "public.company"

Column | Type | Modifiers

---------+---------------+-----------

id | integer | not null

name | text | not null

age | integer | not null

address | character(50) |

salary | real |

Indexes:

"company_pkey" PRIMARY KEY, btree (id)

"salary_index" btree (salary)

Siz \di buyrug'i − yordamida butun indekslar ma'lumotlar bazasini ro'yxatlashingiz mumkin

DROP INDEX buyrug'i

Indeksni PostgreSQL DROP buyrug'i yordamida tushirish mumkin . Indeksni tushirishda ehtiyot bo'lish kerak, chunki unumdorlik sekinlashishi yoki yaxshilanishi mumkin.

Asosiy sintaksis quyidagicha -

DROP INDEX index_name;

Oldindan yaratilgan indeksni o'chirish uchun quyidagi iboradan foydalanishingiz mumkin -

# DROP INDEX salary_index;

Indekslardan qachon qochish kerak?

Indekslar ma'lumotlar bazasi ish faoliyatini yaxshilash uchun mo'ljallangan bo'lsa-da, ulardan qochish kerak bo'lgan holatlar mavjud. Quyidagi ko'rsatmalar indeksdan foydalanish qachon qayta ko'rib chiqilishi kerakligini ko'rsatadi -



  • Indekslarni kichik jadvallarda ishlatmaslik kerak.

  • Tez-tez, katta partiyalarni yangilash yoki kiritish operatsiyalariga ega jadvallar.

  • Ko'p sonli NULL qiymatlarni o'z ichiga olgan ustunlarda indekslardan foydalanmaslik kerak.

  • Tez-tez manipulyatsiya qilinadigan ustunlar indekslanmasligi kerak.

Download 19,85 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish