Junior — Middle
95
Kuidas teed andmebaasi päringute analüüsi ja optimeerimise Django-s?
Vastus AI-lt
sobes.tech AI
Django-s sageli kasutan järgmisi lähenemisviise päringute analüüsimiseks ja optimeerimiseks:
django-debug-toolbarkasutamine — võimaldab visuaalselt näha kõiki SQL-päringuid, mis lehel teostatakse, nende arvu ja täitmisaja.queryset.explain()meetod — näitab päringu täitmisplaani andmebaasi tasandil, aitab mõista, milliseid indekseid kasutatakse.- Päringute optimeerimine
select_relatedjaprefetch_relatedabil — vähendab päringute arvu seotud mudelitega töötades. values()javalues_list()kasutamine — ainult vajalike väljade valimiseks, andmete mahtu vähendades.- Koodi ja päringute profiilimine — kitsaste kohtade tuvastamiseks.
select_related näide:
# Ilma optimeerimiseta
books = Book.objects.all()
for book in books:
print(book.author.name) # Iga raamatu puhul eraldi päring autorile
# Optimeerimisega
books = Book.objects.select_related('author').all()
for book in books:
print(book.author.name) # Üks päring JOIN-iga
Sellisel viisil väheneb päringute arv ja paraneb jõudlus.