[PR #1622] Add nplusone #1410

Open
opened 2025-11-06 13:15:40 -06:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/vinta/awesome-python/pull/1622
Author: @lnxpy
Created: 9/24/2020
Status: 🔄 Open

Base: masterHead: master


📝 Commits (3)

📊 Changes

1 file changed (+2 additions, -0 deletions)

View changed files

📝 README.md (+2 -0)

📄 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.


🔄 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>
GiteaMirror added the pull-request label 2025-11-06 13:15:40 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/awesome-python#1410