Biladiganlarim bo'yicha aytadigan bo'lsam,
Qachon ishlatmaslik kerak:
1. WHERE bilan ishlatilganda too many rows qaytaradigan querylarda(masalan, ManyToManyda).
2. Ko'p yangilanib turadigan columnlarda(masalan , mijoz hisobidagi mablag').
3. Mumkin qiymatlar soni cheklangan holda(masalan, django fieldda choices ishlatganda).
4. Bir xil qiymatli(shu jumladan null) rowlar ko'p bo'ladigan columnlarda (1- va 3- bandlardan kelib chiqib).
5. Rowlar soni ko'p bo'lmagan tableda
Qachon ishlatish kerak:
1. WHERE bilan ishlaganda odatda 1(yoki juda kam) ta row qaytaradigan querydagi rowlarda(SELECT * FROM users WHERE email = 'example@gmail.com' (UNIQUE bo'lsa database o'zi index qo'shadi).
2. WHEREda odatda birga ishlatiladigan fieldlar uchun multicolumn index (masalan, authentication uchun odatda username bilan password birga ishlatiladi).
Va ANALYZE qilish. Django qanchalik ko'p analyzedan foydalanishi haqida xabarim yo'q.
Har safar nimadir implement qilib, oldingi performance bilan compare qilib ko'rish. Bu orqali qaysi usul ko'proq foydali ekanini va qayerda ishlatmaslik kerakb bilib olasiz.
P.S. Bu faqat shaxsiy izlanishlarim :-)
Post #6
466
Forwarded from Bobosher Musurmonov