SQLab
O‘rganishMashqMasalalarArenaReyting
© 2026 SQLab · Toshkent
SQLab

SQL’ni o‘rnatmasdan, brauzerning o‘zida o‘rganing.

Platforma

  • O‘rganish
  • Mashq
  • Masalalar
  • Arena
  • Reyting

Kimlar uchun

  • Talabalar
  • Ustozlar
  • Universitetlar
© 2026 SQLab. Barcha huquqlar himoyalangan.O‘zbekistonda, talabalar uchun yaratilgan.
O‘rganishMashqMasalalarArenaReyting
0/26

Asoslar

  • Ma’lumotlar bazasi nima?
  • Birinchi SELECT
  • WHERE: kerakli qatorlarni tanlash
  • IN, BETWEEN, LIKE va NULL
  • Saralash, LIMIT va DISTINCT

Hisob-kitob

  • Ifodalar, funksiyalar va CASE
  • Sanalar bilan ishlash
  • COUNT, SUM, AVG, MIN, MAX
  • GROUP BY va HAVING

Jadvallarni ulash

  • Kalitlar va bog‘lanishlar
  • INNER JOIN
  • LEFT JOIN va juftsiz qatorlar
  • Bir nechta jadval va self join

Murakkab so‘rovlar

  • Ichki so‘rovlar
  • UNION, INTERSECT, EXCEPT
  • WITH: nomlangan so‘rovlar
  • Oyna funksiyalari

Jadval yaratish va o‘zgartirish

  • CREATE TABLE: turlar va cheklovlar
  • INSERT, UPDATE, DELETE
  • ALTER, DROP, TRUNCATE
  • Bazani to‘g‘ri loyihalash

Professional daraja

  • Indekslar va EXPLAIN
  • Tranzaksiyalar va ACID
  • VIEW: saqlangan so‘rovlar
  • Funksiyalar, protseduralar, triggerlar
  • Foydalanuvchilar, huquqlar, zaxira nusxa
O‘rganish/Professional daraja

Indekslar va EXPLAIN

229 daq

Jadvalda yuzta qator bo‘lsa, baza ularni bir zumda ko‘zdan kechiradi. Million qator bo‘lsa — har bir so‘rov uchun hammasini o‘qib chiqish sekin. Bu muammoni indeks hal qiladi.

Indeks — kitob oxiridagi ko‘rsatkich

Kitobdan «tranzaksiya» so‘zini topish uchun hamma sahifani varaqlamaysiz — oxiridagi alifbo ko‘rsatkichiga qaraysiz va kerakli sahifaga o‘tasiz. Indeks xuddi shunday: ustun qiymatlari tartiblangan holda alohida saqlanadi va har biri qatorga ishora qiladi.

CREATE INDEX idx_students_city ON students (city);

Endi WHERE city = 'Samarqand' butun jadvalni emas, faqat indeksni o‘qiydi.

Baza so‘rovni qanday bajaradi: EXPLAIN

EXPLAIN so‘rovni bajarmaydi, faqat rejasini ko‘rsatadi:

university· O‘zgartirib ko‘ring
EXPLAIN SELECT * FROM students WHERE id = 10;

PostgreSQL rejasida Index Scan using students_pkey — birlamchi kalit indeksidan foydalanildi. Seq Scan esa — butun jadval ketma-ket o‘qildi degani.

Indeks yo‘q ustun bo‘yicha qidiruv:

university· O‘zgartirib ko‘ring
EXPLAIN SELECT * FROM students WHERE city = 'Samarqand';

Bu yerda baza butun jadvalni o‘qiydi — city ga indeks yo‘q.

Indeks qachon kerak

  • WHERE, JOIN … ON, ORDER BY da tez-tez ishlatiladigan ustunlar;
  • tashqi kalit ustunlari (grades.student_id) — JOIN lar tezlashadi;
  • takrorlanmasligi kerak bo‘lgan ustunlar — CREATE UNIQUE INDEX.

Birlamchi kalit va UNIQUE uchun indeks avtomatik yaratiladi.

PostgreSQL tashqi kalit ustuniga indeksni o‘zi yaratmaydi — uni qo‘lda qo‘shish kerak: CREATE INDEX ON grades (student_id);

Indeksning narxi

Indeks bepul emas:

  • diskda joy egallaydi;
  • har bir INSERT, UPDATE, DELETE indeksni ham yangilaydi — yozish sekinlashadi.

Shuning uchun «har bir ustunga indeks» — yomon fikr. Indeksni aniq sekin so‘rov uchun, EXPLAIN bilan tekshirib qo‘shing.

Indeks ishlamay qoladigan holatlar

  • ustun funksiya ichida: WHERE UPPER(city) = 'TOSHKENT' — oddiy indeks ishlatilmaydi;
  • LIKE '%bek' — boshi noma’lum andaza;
  • juda kichik jadval — baza baribir hammasini o‘qishni afzal ko‘radi.

Ko‘p ustunli indeks

CREATE INDEX idx_orders_customer_date ON orders (customer_id, ordered_at);

U WHERE customer_id = 5 va WHERE customer_id = 5 AND ordered_at > … uchun ishlaydi, lekin faqat WHERE ordered_at > … uchun emas — tartib muhim (telefon kitobi avval familiya, keyin ism bo‘yicha tartiblangan).

Esda qoldiring

  • Indeks — qidirishni tezlashtiradigan tartiblangan ko‘rsatkich.
  • EXPLAIN — so‘rov rejasini ko‘rsatadi; to‘liq skanerlashni topish uchun ishlating.
  • Indeks o‘qishni tezlashtiradi, yozishni sekinlashtiradi — o‘ylab qo‘shing.
Oldingi darsBazani to‘g‘ri loyihalashKeyingi darsTranzaksiyalar va ACID

Mundarija

  • Indeks — kitob oxiridagi ko‘rsatkich
  • Baza so‘rovni qanday bajaradi: EXPLAIN
  • Indeks qachon kerak
  • Indeksning narxi
  • Indeks ishlamay qoladigan holatlar
  • Ko‘p ustunli indeks
  • Esda qoldiring
O‘rganishMashqMasalalarArenaReyting

SQLab