database-performance

Detect N+1 query patterns in Canvas plugin Django ORM code.

2|1|Updated Nov 27, 2025
One-click install
npx skills add https://github.com/canvas-medical/coding-agents --skill database-performance-canvas-medical
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: database-performance
Source: https://github.com/canvas-medical/coding-agents/tree/main/canvas-plugin-assistant/skills/database-performance
Command: npx skills add https://github.com/canvas-medical/coding-agents --skill database-performance-canvas-medical

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill provides guidance to identify and mitigate expensive database access patterns in Canvas plugins by focusing on N+1 query issues and related data loading optimizations.

Core Features & Use Cases

  • N+1 query detection guidance using Django ORM patterns (select_related, prefetch_related)
  • Common Canvas SDK data model patterns and loading optimizations
  • Practical use cases and pre-deployment checklists for performance auditing

Quick Start

Run the performance review checklist during code reviews to identify N+1 patterns and apply select_related and prefetch_related where appropriate.

Frequently Asked Questions about database-performance

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix N+1 query patterns in Django ORM Canvas plugins?▼

To fix N+1 query patterns in Django ORM Canvas plugins, apply select_related for foreign keys and prefetch_related for reverse relations to optimize data access in plugin handlers during code reviews.

What is the difference between select_related and prefetch_related for query profiling?▼

Query profiling optimizations use select_related for foreign key relations via SQL joins, while prefetch_related handles reverse relations with separate queries to mitigate N+1 patterns in Canvas plugin data loading.

How do I run a pre-deployment performance audit for Canvas SDK data access?▼

Run a pre-deployment performance audit checklist during code reviews to identify N+1 patterns in Canvas SDK data models, applying select_related and prefetch_related where appropriate to guide optimization decisions.

Does this performance optimization skill work with standard Django ORM models?▼

Yes, this performance optimization skill works with standard Django ORM patterns in Canvas plugins, enforcing best practices for select_related and prefetch_related using reference guidance from performance_context.txt.

What is the best way to eliminate N+1 queries in Canvas plugin handlers?▼

The best way to eliminate N+1 queries in Canvas plugin handlers is profiling data access and using Django ORM methods like select_related for foreign keys and prefetch_related for reverse relations.

When should I not use select_related to optimize Django ORM queries?▼

You should not use select_related for reverse relations or many-to-many fields; use prefetch_related instead to execute separate queries and avoid expensive database joins in Canvas plugin performance auditing.