TGViewer
Engineering Notes Engineering Notes @boboshersnotes · 2.61K subscribers
Post #237 1.57K
PostgreSQLda index create qilayotganda fillfactor nomli parameter bor. Qisqasi, b-tree page(node)ning qancha qismi to'lganidan keyin bu index pageni to'lgan deb hisoblanib, keyingi pagega yozishni boshlashni bildiradi. Nega 100% to'ldirib, keyin keyingi pagega o'ta olmaymiz? Sababi pageda valuelar tartiblangan bo'ladi, agar tartib bo'yicha shu to'lgan pagega to'g'ri keladigan yangi qiymat kiritilsa, uni shu yerga sig'dirish uchun pageni split qilib, qayta organize qilishga to'g'ri keladi. Bu xuddi arrayning o'rtasiga element qo'shish uchun undan keyingi qismini orqaroqqa surishga o'xshaydi, lekin storege levelda bu yanayam "painful" bo'ladi. Buning oldini ma'lum darajada olish uchun pagening bir qismini oldindan bo'sh qoldirib qo'yish mumkin. Shu pageda turishi kerak bo'lgan yangi qiymat kelganida qolgan valuelarni bezovta qilmasdan, shu yerning o'ziga sig'dirish mumkin bo'ladi.

Index fillfactor index pagening necha foizi to'lganidan keyin yangi pagega o'tishni ko'rsatadi. Default holatda 90%, ya'ni 10% qismi bo'sh turadi. PostgreSQL dokumentatsiyasi bu qiymatni 50-90 foiz oralig'ida ushlashni tavsiya qiladi.
Kamroq fillfactor write operationlar kutilmaganda sekinlashib qolishini kamaytiradi, lekin searchni biroz sekinlashtiradi (fillfactor past bo'lsa, index pagelar soni ko'payadi, ko'proq page ko'proq vaqt degani) va ko'proq joy oladi.

Qachon fillfactorni yuqori qilish tavsiya qilinadi:
1. Tableda write operations juda kam bo'lsa yoki umuman bo'lmasa. Deyarli yoki to'liq static table 100% index fillfactordan kamroq zarar ko'radi.
2. Read performance write performancedan ko'ra muhimroq bo'lsa.
3. Qiymatlar aynan tartib bilan kiritilsa va updatelar juda kam bo'lsa.

Qachon fillfactorni pastroq qilib belgilash tavsiya qilinadi:
1. Write operationlar juda ko'p va tartibsiz bo'lsa.
2. Write performance read performancedan ko'ra muhimroq bo'lsa.
3. UUID yoki GUID bilan ishlaganda.
PostgreSQL Documentation CREATE INDEX CREATE INDEX CREATE INDEX — define a new index Synopsis CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ …
  • 👍 14
More from @boboshersnotes
  1. Oct 7, 2026– How much customization do you need? – Yes
  2. Oct 5, 2026I pinch the airpods once, Youtube video on my laptop is paused. I pinch it again, the vide…
  3. Oct 5, 2026The smartest kids in Kazakhstan should not be doing AI or maxxing out Claude. AI products…
  4. Sep 28, 2026https://www.youtube.com/watch?v=9HIy5dJE-zQ
  5. Sep 22, 2026spa-net.com qiziq challange ekan, kun bo'yi "enter" bosishdan zerikkanda bosh qotirib ko'r…
  6. Sep 21, 2026Bizda odatda juma kunlarining ikkinchi yarmi ishga to'g'ridan-to'g'ri aloqador bo'lmagan n…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →