snype / nplusone
This package helps you detect and log N+1 queries in a Laravel application to help optimize database performance. By listening to all database queries executed during the request lifecycle, the package identifies queries that may lead to N+1 query problems, which can severely impact the performance
v4.0.0
2025-01-28 23:36 UTC
Requires
- php: ^7.0 || ^8.0
README
A Laravel package that detects and logs N+1 queries in your application, helping you optimize database performance by identifying inefficient queries.
Features
- Automatic Detection: The package listens to all database queries and automatically detects potential N+1 query problems.
- File & Line Tracking: Logs the file and line number where the N+1 query was triggered.
- Logging: Logs the detected N+1 queries including SQL, bindings, execution time, and the file/line number of the caller.
- Environment-specific: Only logs queries in non-production environments to avoid unnecessary logging in production.
- Customizable Configuration: You can enable/disable N+1 query logging and configure log levels through a config file.
- Console Command: View logged N+1 queries through an Artisan command.
Installation
Step 1: Install the package
Install the package via Composer:
composer require your-namespace/nplusone-logger