frappe-performance-optimizer

Optimize slow queries and implement caching in Frappe applications.

25|14|Updated Dec 15, 2025
One-click install
npx skills add https://github.com/Venkateshvenki404224/frappe-apps-manager --skill frappe-performance-optimizer
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: frappe-performance-optimizer
Source: https://github.com/Venkateshvenki404224/frappe-apps-manager/tree/main/frappe-apps-manager/skills/frappe-performance-optimizer
Command: npx skills add https://github.com/Venkateshvenki404224/frappe-apps-manager --skill frappe-performance-optimizer

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Slow queries, inefficient data access patterns, and a lack of proper caching can significantly degrade the performance of Frappe applications. This Skill generates optimized code to address these common bottlenecks.

Core Features & Use Cases

  • Query Optimization: Generate efficient SQL queries with appropriate indexing suggestions to drastically speed up data retrieval.
  • Caching Implementation: Implement robust caching strategies for expensive calculations or frequently accessed data using Frappe's built-in cache.
  • Batch Operations: Provide patterns for bulk updates and inserts to improve the efficiency of large-scale data modifications.
  • Use Case: Optimize a slow report query by suggesting appropriate database indexes and implementing a cache for the report's results, reducing load times from minutes to seconds.

Quick Start

Optimize the get_item_price function by adding caching for 1 hour to reduce database load.

Frequently Asked Questions about frappe-performance-optimizer

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

FAQPage Schema
How do I optimize slow queries in Frappe applications?

Query optimization in Frappe involves identifying inefficient SQL patterns, adding appropriate database indexes, and restructuring data access to eliminate N+1 queries. This Skill generates optimized queries with indexing suggestions that dramatically reduce execution time and database load.

What's the best way to implement caching in Frappe to reduce database load?

Frappe's built-in cache system lets you store expensive calculation results or frequently accessed data with configurable expiration. This Skill implements robust caching strategies that serve repeated requests from memory, cutting database calls and improving response times significantly.

Can I use bulk operations to speed up large-scale data modifications in Frappe?

Batch operations and bulk inserts bypass row-by-row processing, dramatically improving performance for large datasets. This Skill provides patterns for bulk updates and inserts that satisfy scalability requirements for high-volume data modifications in Frappe deployments.

How do database indexes improve Frappe application performance?

Indexes create fast lookup paths on frequently queried columns, enabling the database to retrieve matching rows without scanning entire tables. This Skill recommends and implements appropriate indexing strategies tailored to your Frappe application's query patterns.

What performance issues does caching solve in ERPNext?

Caching reduces redundant database queries, computation overhead, and network round trips by storing results locally. This Skill alleviates slow report generation, dashboard loading, and API responses by caching expensive operations with configurable TTL strategies.