https://github.com/stamper/django-bulk-update-challenge
Bulk update improvement PoC for Django-based app
https://github.com/stamper/django-bulk-update-challenge
django python sql
Last synced: about 1 month ago
JSON representation
Bulk update improvement PoC for Django-based app
- Host: GitHub
- URL: https://github.com/stamper/django-bulk-update-challenge
- Owner: Stamper
- Created: 2021-03-20T21:51:53.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2021-03-21T12:05:39.000Z (over 5 years ago)
- Last Synced: 2025-02-18T01:36:38.907Z (over 1 year ago)
- Topics: django, python, sql
- Language: Python
- Homepage:
- Size: 7.81 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Dead simple `bulk_update` challenge
### Requirements
`pip install -r reqs.txt`
### Start up project
`python manage.py migrate`
### Filling in the initial data
`python manage.py bulk_create`
### Run `bulk_update` by Django ORM QuerySet
`python manage.py bulk_update`
### Run data update by raw SQL query
`python manage.py bulk_update -q`
### Run data update by [asyncpg](https://github.com/MagicStack/asyncpg) driver
`python manage.py bulk_update --asyncpg`
## My results
My local DB is dockerised PostgreSQL v 10
```
by bulk_update
>> 18.606669 seconds
```
```
by query
>> 5.477139 seconds
```
```
by asyncpg
>> 5.810879 seconds
```
**bulk_update -> raw sql: x3.4 performance improvement**