Optimasi Database di Django Menggunakan Query select_related
Bandingkan 2 query ini:
Query 1:
Query 2:
Di template, kita panggil data author dengan:
Jika menggunakan query 1, memanggil author berarti melakukan hit ke database lagi, karena di data belum ada author, beda dengan query 2, karena sudah kita panggil dengan select_related, panggilan ke author tidak akan hit database lagi.
Query 1:
data = Quote.objects.filter(published=True).order_by('-modified')
Query 2:
data = Quote.objects.select_related('author').filter(published=True).order_by('-modified')
Di template, kita panggil data author dengan:
{{ data.author.author_name }}
Jika menggunakan query 1, memanggil author berarti melakukan hit ke database lagi, karena di data belum ada author, beda dengan query 2, karena sudah kita panggil dengan select_related, panggilan ke author tidak akan hit database lagi.
[…] Query select_related di django […]
ReplyDelete