Tarkibga o'tish

032. EXPLAIN va ANALYZE

Bu mavzuda so'rov rejasini o'qish bo'yicha 20 ta masala bor. Har bir masala oldida qavs ichida sxema nomi va qiyinlik darajasi ko'rsatilgan. Sxemalar Sxemalar va tayyorlov sahifasida berilgan.

Masalani o'zingiz yechib, natijani Kutilgan natija bilan solishtiring. O'zgartiruvchi masalalarda (INSERT, UPDATE, DELETE, DDL) natija shartda aytilgan tekshiruv so'rovidan olingan. Natija 10 qatordan ko'p bo'lsa, birinchi 10 qator ko'rsatilgan.

1. (dokon, oson) EXPLAIN matnini funksiyada olib, mahsulot to'liq skan 'Seq Scan' bo'lishini tekshiring (indekssiz).

Kutilgan natija
t

2. (dokon, oson) EXPLAIN (FORMAT JSON) natijasida 'Plan' kaliti bor (json massivining birinchi elementi).

Kutilgan natija
t

3. (dokon, oson) Plan tugun turi: SELECT * FROM mahsulot uchun 'Node Type' qiymati.

Kutilgan natija
Seq Scan

4. (dokon, o'rta) JOIN uchun plan: mijoz va buyurtma JOIN planida 'Join' so'zi bor-yo'qligi (Hash Join / Nested Loop / Merge Join).

Kutilgan natija
t

5. (dokon, o'rta) EXPLAIN ANALYZE natijasida 'Execution Time' bormi (EXPLAIN ANALYZE ni funksiyada ishlating).

Kutilgan natija
t

6. (dokon, o'rta) Real qatorlar soni: EXPLAIN (ANALYZE, FORMAT JSON) dan 'Actual Rows' (asosiy tugun) — mahsulot jadvali qatorlar soniga tengmi.

Kutilgan natija
t

7. (dokon, o'rta) ANALYZE jadval statistikasini yangilaydi: ANALYZE mahsulot dan keyin pg_stats da kategoriya_id uchun yozuv bormi.

Kutilgan natija
1

8. (dokon, qiyin) Saralash tugun: ORDER BY narx uchun plan 'Sort' ni o'z ichiga oladimi.

Kutilgan natija
t

9. (dokon, qiyin) Agregat plan: GROUP BY uchun 'Aggregate' (HashAggregate yoki GroupAggregate) bormi.

Kutilgan natija
t

10. (dokon, qiyin) Qiyosiy: indeks bilan va indekssiz plan: mahsulot(id) PK dagi id=5 qidiruvi indeks ishlatadimi (seqscan o'chiq).

Kutilgan natija
t

11. (maktab, oson) baho jadvali uchun Seq Scan plan (indekssiz ustun).

Kutilgan natija
t

12. (maktab, o'rta) EXISTS subquery plani: 'Semi Join' hosil bo'ladimi (oquvchi va baho).

Kutilgan natija
f

13. (maktab, qiyin) Window plan: ROW_NUMBER() OVER uchun 'WindowAgg' tugun bormi.

Kutilgan natija
t

14. (bank, oson) tranzaksiya jadvali uchun EXPLAIN (COSTS OFF) matnida 'Seq Scan' bormi.

Kutilgan natija
t

15. (bank, o'rta) LIMIT plani: 'Limit' tugun bormi (ORDER BY summa LIMIT 3).

Kutilgan natija
t

16. (bank, o'rta) Indeks yaratgach planning o'zgarishi: tranzaksiya(summa) indeksi + seqscan off — ORDER BY summa LIMIT 3 plan indeksni ishlatadimi.

Kutilgan natija
t

17. (bank, qiyin) EXPLAIN (ANALYZE, BUFFERS) natijasida 'Buffers' so'zi bormi.

Kutilgan natija
t

18. (kutubxona, oson) Plan tugun turi: SELECT * FROM kitob uchun.

Kutilgan natija
Seq Scan

19. (kutubxona, o'rta) Hash Join/Nested Loop: kitob va muallif JOIN planida muallif jadvali ham ko'rinadimi.

Kutilgan natija
t

20. (kutubxona, qiyin) pg_stat_statements emas: oddiy statistik: pg_stat_user_tables da kitob jadvali n_live_tup bor-yo'qligi (qator mavjud).

Kutilgan natija
1