nplusone is a library for detecting the n+1 queries problem in Python ORMs, including SQLAlchemy, Peewee, and the Django ORM.
Many object-relational mapping (ORM) libraries default to lazy loading for relationships. This pattern can be efficient when related rows are rarely accessed, but quickly becomes inefficient as relationships are accessed more frequently. In these cases, loading related rows eagerly using a JOIN can be vastly more performant. Unfortunately, understanding when to use lazy versus eager loading can be challenging: you might not notice the problem until your app has slowed to a crawl.
I myself used this tech so many times. It acts like a mid-level layer on the Django apps. It also uses a logging module in order to log every single moment during the process.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/vinta/awesome-python/pull/1622
**Author:** [@lnxpy](https://github.com/lnxpy)
**Created:** 9/24/2020
**Status:** 🔄 Open
**Base:** `master` ← **Head:** `master`
---
### 📝 Commits (3)
- [`431a5c5`](https://github.com/vinta/awesome-python/commit/431a5c51f25b13f2371abcfb66dd12ae58ab90ef) nplusone added
- [`88df3d5`](https://github.com/vinta/awesome-python/commit/88df3d5d5e711b22357ac32dba0820f137aec438) Update README.md
- [`16e7077`](https://github.com/vinta/awesome-python/commit/16e707722e357d0dd5f4157477bca0ddbbb8d3b9) items re-ordered
### 📊 Changes
**1 file changed** (+2 additions, -0 deletions)
<details>
<summary>View changed files</summary>
📝 `README.md` (+2 -0)
</details>
### 📄 Description
According to the repo:
`nplusone` is a library for detecting the n+1 queries problem in Python ORMs, including SQLAlchemy, Peewee, and the Django ORM.
Many object-relational mapping (ORM) libraries default to lazy loading for relationships. This pattern can be efficient when related rows are rarely accessed, but quickly becomes inefficient as relationships are accessed more frequently. In these cases, loading related rows eagerly using a JOIN can be vastly more performant. Unfortunately, understanding when to use lazy versus eager loading can be challenging: you might not notice the problem until your app has slowed to a crawl.
I myself used this tech so many times. It acts like a mid-level layer on the Django apps. It also uses a logging module in order to log every single moment during the process.
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/vinta/awesome-python/pull/1622
Author: @lnxpy
Created: 9/24/2020
Status: 🔄 Open
Base:
master← Head:master📝 Commits (3)
431a5c5nplusone added88df3d5Update README.md16e7077items re-ordered📊 Changes
1 file changed (+2 additions, -0 deletions)
View changed files
📝
README.md(+2 -0)📄 Description
According to the repo:
nplusoneis a library for detecting the n+1 queries problem in Python ORMs, including SQLAlchemy, Peewee, and the Django ORM.Many object-relational mapping (ORM) libraries default to lazy loading for relationships. This pattern can be efficient when related rows are rarely accessed, but quickly becomes inefficient as relationships are accessed more frequently. In these cases, loading related rows eagerly using a JOIN can be vastly more performant. Unfortunately, understanding when to use lazy versus eager loading can be challenging: you might not notice the problem until your app has slowed to a crawl.
I myself used this tech so many times. It acts like a mid-level layer on the Django apps. It also uses a logging module in order to log every single moment during the process.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.