← Back to list

Databaseda Concurrent index yaratish.

Bilarmidingiz siz qachonki production serverda aynan bir tableda index create qilsangiz shunda database avtomatik write qilishni block…

Sayfulla Mirxalikov · 2026-05-23 08:43 · 0 claps · 0.5 min read
#psql #postgresql #database #indexing
Open on Medium ↗

Databaseda Concurrent index yaratish.

Bilarmidingiz siz qachonki production serverda aynan bir tableda index create qilsangiz shunda database avtomatik write qilishni block qiladi.

Aytaylik siz productionda indexing qilishingiz kerak va users degan tableni ichida 50 million row bor. Siz tabiiyki quyidagi komanda orqali index yaratasiz:

CREATE INDEX idx_users_email 
ON users(email);

Bu index qurmagur ham 10 minut davomida ishladi va aytganimizdek write qilishni blockladi. Production server shunda requestlarni queueda ushlab turishni boshladi va ba’zi requestlar shunchaki timeout bo’lib ketdi. Juda hunuk holat to’g’rimi?

Yechim esa juda oddiy “CREATE INDEX CONCURRENTLY” ni ishlatishdir

Misol:

CREATE INDEX CONCURRENTLY idx_users_email
ON users(email);

Bu table write operation’larini block qilmaydi. Production system ishlashda davom etadi.

Undan tashqari agar siz ORM ishlatsangiz misol uchun Django ORM da siz to’g’ridan-to’g’ri SQL query yoza olmaysiz uni o’rniga siz shu resursdan foydalanishiz mumkin: https://docs.djangoproject.com/en/6.0/ref/contrib/postgres/operations/#django.contrib.postgres.operations.AddIndexConcurrently


메타데이터
post_id
a5a620fe3207
slug
databaseda-concurrent-index-yaratish-a5a620fe3207
url
https://medium.com/@thesayfulla/databaseda-concurrent-index-yaratish-a5a620fe3207
canonical_url
https://medium.com/@thesayfulla/databaseda-concurrent-index-yaratish-a5a620fe3207
author_url
https://medium.com/@thesayfulla
status
ok
fetched_at
2026-06-20 20:29:01