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

This package is auto-updated.

Last update: 2025-07-29 00:45:15 UTC


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