Let's talk!
Clients
Services
Blog
About us
Careers
Let's talk!
SOFTWARE
HOUSE
Clients
Insights
Blog
Learnings
Careers
About us
Contact us
Learnings
Boost your knowledge with the insights from our expert team.
accessibility
accessibility
agile
agile
ai
ai
api
api
architecture
architecture
aws
aws
career
career
celery
celery
communication
communication
concurrency
concurrency
css
css
data
data
database
database
db
db
debug
debug
design
design
design system
design system
development
development
devops
devops
django
django
docker
docker
documentation
documentation
figma
figma
frontend
frontend
git
git
html
html
javascript
javascript
js
js
leadership
leadership
management
management
metrics
metrics
ml
ml
orm
orm
performance
performance
postgres
postgres
process
process
product
product
product design
product design
python
python
react
react
redux
redux
research
research
security
security
software
software
sql
sql
sre
sre
test
test
testing
testing
tests
tests
typescript
typescript
ui
ui
ux
ux
web
web
workflow
workflow
<p>PostgreSQL CLUSTER command can speed up large tables that are frequently filtered by a indexed column: </p>
↗
https://www.postgresql.org/docs/10/sql-cluster.html
Flávio Juvenal
Jan 4, 2019
Topics:
db, performance, postgres
<p>django-partial-index allows you to set partial/conditional indexes and partial unique constraints, which are useful for ensuring data integrity according to your business logic: </p>
↗
https://github.com/mattiaslinnap/django-partial-index
Flávio Juvenal
Nov 5, 2018
Topics:
db, django
<p>Django Pro-Tip – Slugs as primary keys: </p>
↗
https://www.revsys.com/tidbits/slugs-primary-keys/
Flávio Juvenal
Aug 21, 2018
Topics:
db, django, performance
<p>Excellent article about how ORMs cause leaky abstractions that lead to performance issues and how fixing them is generally simple: </p>
↗
https://blog.acolyer.org/2018/06/28/how-_not_-to-structure-your-database-backed-web-applications-a-study-of-performance-bugs-in-the-wild/
Flávio Juvenal
Jun 30, 2018
Topics:
db, orm, performance
<p>Besides causing unexpected performance problems, a model default ordering in Django can cause problems to <code>values()</code>. Avoid default ordering! #interaction-with-default-ordering-or-order-by</p>
↗
https://docs.djangoproject.com/en/dev/topics/db/aggregation/
Flávio Juvenal
Jun 8, 2018
Topics:
db, django
<p>Are triggers really that slow in Postgres? </p>
↗
https://www.cybertec-postgresql.com/en/are-triggers-really-that-slow-in-postgres/
Flávio Juvenal
May 23, 2018
Topics:
db, performance, postgres, triggers
<p>A beginner’s guide to database locking and the lost update phenomena (examples in Hibernate, but relevant to Django!): </p>
↗
https://vladmihalcea.com/a-beginners-guide-to-database-locking-and-the-lost-update-phenomena/
Flávio Juvenal
May 23, 2018
Topics:
db, django, lock, transaction
<p>Stupid PostgreSQL Tricks: Writable Views (not really recommended, but interesting!): </p>
↗
https://legitimatesounding.com/blog/stupid_postgresql_tricks:_writable_views.html
Flávio Juvenal
May 23, 2018
Topics:
db, postgres
<p>Django transaction.atomic is not a lock! </p>
↗
https://stackoverflow.com/questions/42520917/does-django-atomic-transaction-lock-the-database
Flávio Juvenal
May 18, 2018
Topics:
db, django, transaction
<p>On Django, you should NOT use <code>loaddata</code> management command directly in a data migration. It will use the current model state, not the historical one, therefore your migration will certainly BREAK in the future: </p>
↗
https://stackoverflow.com/a/39743581/145349
Flávio Juvenal
May 7, 2018
Topics:
db, django, migrations
<p>On PostgreSQL, use <code>substring</code> function with regex along with multiple columns on <code>order by</code> to properly mix numeric with alphabetical order: </p>
↗
https://dba.stackexchange.com/questions/52569/order-by-alphabet-and-then-by-numbers
Flávio Juvenal
Apr 25, 2018
Topics:
db, postgres
<p>ORDER BY the IN value list: </p>
↗
https://stackoverflow.com/questions/866465/order-by-the-in-value-list
Flávio Juvenal
Apr 3, 2018
Topics:
db, postgres, sql
<p>9 Django Tips for Working with Databases: </p>
↗
https://medium.com/@hakibenita/9-django-tips-for-working-with-databases-beba787ed7d3
Flávio Juvenal
Feb 15, 2018
Topics:
db, django, postgres
<p>Postgres DB-level for-each with LATERAL: </p>
↗
https://blog.heapanalytics.com/postgresqls-powerful-new-join-type-lateral/
Flávio Juvenal
Jan 12, 2018
Topics:
db, postgres, sql
<p>Primary Keys: IDs versus GUIDs </p>
↗
https://blog.codinghorror.com/primary-keys-ids-versus-guids/
Flávio Juvenal
Dec 14, 2017
Topics:
db, uuid
<p>Order of columns in a compound index in PostgreSQL (and query order): </p>
↗
https://dba.stackexchange.com/questions/59922/order-of-columns-in-a-compound-index-in-postgresql-and-query-order
Flávio Juvenal
Dec 14, 2017
Topics:
db, postgres
<p>Reading a Postgres EXPLAIN ANALYZE Query Plan: </p>
↗
https://robots.thoughtbot.com/reading-an-explain-analyze-query-plan
Flávio Juvenal
Nov 22, 2017
Topics:
db, performance, postgres
<p>Django will store your dates in UTC if you set USE_TZ=True</p>
↗
Anderson Resende
Nov 11, 2017
Topics:
db, django
<p>django-eraserhead: Django package that provides hints to optimize database usage by deferring unused fields (and more) </p>
↗
https://github.com/dizballanze/django-eraserhead
Flávio Juvenal
Aug 20, 2017
Topics:
db, django, optimization, performance
<p>Django 1.11 Subquery expressions: #subquery-expressions</p>
↗
https://docs.djangoproject.com/en/1.11/ref/models/expressions/
Flávio Juvenal
Jun 20, 2017
Topics:
db, django, sql
<p>Postgres full-text search is Good Enough! </p>
↗
http://rachbelaid.com/postgres-full-text-search-is-good-enough/
Flávio Juvenal
Apr 27, 2017
Topics:
db, postgres, search, sql
<p>Avoid Django's GenericForeignKey: </p>
↗
https://lukeplant.me.uk/blog/posts/avoid-django-genericforeignkey/
Flávio Juvenal
Mar 27, 2017
Topics:
db, django
Previous
Close Cookie Preference Manager
Cookie Settings
By clicking “Accept all”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage and assist in our marketing efforts.
Check our privacy policies.
Strictly Necessary (Always Active)
Cookies required to enable basic website functionality.
Analytics
Cookies helping understand how this website performs, how visitors interact with the site, and whether there may be technical issues.
Marketing
Cookies used to deliver advertising that is more relevant to you and your interests.
Personalization
Cookies allowing the website to remember choices you make (such as your user name, language, or the region you are in).
Save settings
Accept all
We use Cookies to promote our services.
Settings and Privacy.
Accept