We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Tips and tricks for optimizing Django response times with Carmela Beiro - DjangoCon US 2022
Optimize your Django application's response times with expert tips on database operations, indexing, caching, and more, from DjangoCon US 2022.
- Optimize database operations at the lowest level, i.e., the database, for better performance.
- Use indexes to improve query performance, but consider the order of the index and the query.
-
Use
select_related
andprefetch_related
to reduce the number of database queries. - Cache query sets and attributes to reduce the number of database queries.
-
Use
values
to return a query set with dictionaries instead of models. - Define partial indexes to add a where condition to the index.
- Use caching to store pre-calculated results.
- Consider using asynchronous approaches to improve performance.
- Use profiling tools to identify performance bottlenecks.
- Store pre-calculated results to reduce the number of database queries.
-
Use
only
anddefer
to select only the attributes that are needed. - Consider using a columnar database for large amounts of historic data.
-
Use
explain
to see what the query optimizer is doing. - Consider the tradeoff between performance and data freshness when using caching.
-
Use
Django Debug Toolbar
andDjango Silk
to profile and debug queries. - Consider the requirements of the project when deciding which database to use.
-
Use
select_related
for foreign key relationships andprefetch_related
for many-to-many relationships. -
Use
values
to return a query set with dictionaries instead of models. - Define partial indexes to add a where condition to the index.
- Use caching to store pre-calculated results.
- Consider using asynchronous approaches to improve performance.
- Use profiling tools to identify performance bottlenecks.
- Store pre-calculated results to reduce the number of database queries.
-
Use
only
anddefer
to select only the attributes that are needed. - Consider using a columnar database for large amounts of historic data.
-
Use
explain
to see what the query optimizer is doing. - Consider the tradeoff between performance and data freshness when using caching.