Queryset ขั้นกลาง
N+1 Problem
Section titled “N+1 Problem”ปัญหา N+1 เป็นปัญหาที่พบบ่อยที่สุดใน Django ORM เกิดเมื่อเราดึงข้อมูลหลัก 1 query แล้ว loop ดึงข้อมูลที่เกี่ยวข้องอีก N queries
ตัวอย่างปัญหา
Section titled “ตัวอย่างปัญหา”def post_list(request): """ ปัญหา N+1: 1 query สำหรับ posts + N queries สำหรับ author ถ้ามี 100 posts = 101 queries! """ posts = Post.objects.all() # Query 1: SELECT * FROM posts
for post in posts: # Query 2-101: SELECT * FROM users WHERE id = ? print(post.author.username)
return render(request, 'posts.html', {'posts': posts})เข้าสู่ระบบเพื่อดูเนื้อหาเต็ม
ยืนยันตัวตนด้วยบัญชี Google เพื่อปลดล็อกบทความทั้งหมด
Login with Google