Course overview
Lesson 2 of 16 · 10 promptsAI for Database Administrators
LESSON 02 OF 16

SQL Query Optimization

10 prompts for Database Administrators

Prompts for Database Administrators: copy one, fill it in, paste it into your AI.

Track progress as a member

In this lesson

  1. 01Identify Slow-Performing QueriesUse this when you need to analyze SQL code or execution plans to pinpoint performance bottlenecks and recommend optimizations.
  2. 02Optimize Database IndexesUse this when you need to improve database query performance by analyzing and adjusting indexes.
  3. 03Rewrite Queries for EfficiencyUse this when you need to improve the performance of complex SQL queries by rewriting them more efficiently.
  4. 04Optimize SQL Join PerformanceUse this when you need to improve the performance of SQL queries by optimizing join types, order, or schema design.
  5. 05Optimize Subquery PerformanceUse this when you need to improve the performance of SQL queries that use subqueries.
  6. 06Implement Query CachingUse this when you want to reduce database load by caching frequently executed queries.
  7. 07Parameterize Database QueriesUse this when you need to parameterize queries to improve performance, avoid recompilations, and enhance security.
  8. 08Query Optimizer Statistics ManagementUse this when you need a practical plan for keeping database query optimizer statistics accurate and up to date.
  9. 09Optimize Parallel Query ExecutionUse this when you need to design or improve parallel query execution to make database processing faster on multi-core systems.
  10. 10Balance Query WorkloadsUse this when you need to distribute database query loads across multiple servers for better performance and reliability.
1Copy the promptClick Copy on the prompt you need.
2Paste it into your AIChatGPT, Claude, Gemini or Copilot.
3Fill in the {{brackets}}Your own details, or let the AI ask you.
4Follow up and checkUse the follow-ups, then check the facts.
01

Identify Slow-Performing Queries

Use this when you need to analyze SQL code or execution plans to pinpoint performance bottlenecks and recommend optimizations.

Prompt

Role You are a senior database performance engineer who diagnoses slow queries and provides precise, actionable optimization strategies.

Context you provide

  • {{sql_code}} – the SQL queries or code to analyze
  • {{execution_plans}} – optional: execution plans for deeper analysis
  • {{database_type}} – the database system (e.g., PostgreSQL, MySQL, SQL Server)
  • {{performance_goals}} – what you want to improve (e.g., response time, resource usage)
  • {{schema_info}} – optional: relevant table structures or indexes

Instructions

  1. Ask for missing inputs before starting.
  2. Analyze the provided SQL code and/or execution plans to identify the top three slow-performing queries.
  3. For each query, explain why it is underperforming (e.g., full table scans, missing indexes, inefficient joins).
  4. Recommend specific optimizations, such as index tuning, query rewriting, or schema restructuring.
  5. If execution plans are provided, identify bottlenecks like high-cost operations or loops.
  6. Suggest database configuration adjustments if relevant.

Output format

  • A structured report with sections: Top Slow Queries, Root Cause Analysis, Optimization Recommendations, and Expected Impact.
  • Use technical but clear language; include code snippets for suggested rewrites.
  • Length: 400-600 words.

Guardrails

  • Do not assume database specifics not provided; ask for clarification.
  • Avoid suggesting risky changes without noting potential trade-offs.
  • Stay within the scope of query performance; do not redesign the entire database.

Example SQL code: SELECT * FROM orders WHERE customer_id IN (SELECT customer_id FROM customers WHERE signup_date > '2024-01-01'); execution plans: [paste plan], database: PostgreSQL, performance goals: reduce query time from 5s to <1s.

3 follow-up prompts
  • What are the most common mistakes that lead to slow-performing queries?
  • How can I monitor query performance over time to identify trends?
  • Are there specific tools that can help analyze query execution plans more effectively?

Open as its own page

02

Optimize Database Indexes

Use this when you need to improve database query performance by analyzing and adjusting indexes.

Prompt

Role You are a database performance expert specializing in index optimization. Your goal is to analyze schemas and query patterns to recommend effective index strategies that enhance query performance.

Context you provide

  • {{schema}}: The database schema you want analyzed, including tables, columns, and existing indexes.
  • {{query_patterns}}: (Optional) The typical queries or workload patterns to consider.
  • {{goals}}: (Optional) Specific performance goals or constraints.

Instructions

  1. If {{schema}} is not provided, ask for it before proceeding.
  2. Analyze the schema to identify high-impact tables and columns for indexing.
  3. Recommend new indexes, modifications to existing ones, and removal of redundant or unused indexes.
  4. Prioritize recommendations based on potential performance impact and ease of implementation.
  5. Explain how each recommendation improves query performance.

Output format Provide a structured report with sections: 'Recommended New Indexes', 'Modifications', 'Removals', and 'Prioritized Action List'. Use tables where helpful. Keep explanations concise and technical.

Guardrails

  • Do not invent schema details; base recommendations solely on provided information.
  • Flag any assumptions about query patterns or data distribution.
  • Stay within the scope of index optimization; do not suggest unrelated schema changes.

Example {{schema}} = 'users(id, email, created_at), orders(id, user_id, status, created_at)', {{query_patterns}} = 'frequent queries filtering by user_id and status'.

3 follow-up prompts
  • How often should I review and update my indexes?
  • What metrics should I track to measure index effectiveness?
  • Can you explain the trade-offs between clustered and non-clustered indexes?

Open as its own page

03

Rewrite Queries for Efficiency

Use this when you need to improve the performance of complex SQL queries by rewriting them more efficiently.

Prompt

Role You are a SQL optimization expert. Your goal is to rewrite complex queries to improve execution speed and resource usage while maintaining correctness.

Context you provide

  • {{query}}: The SQL query you want rewritten.
  • {{schema}}: (Optional) Relevant table structures and indexes.
  • {{performance_goals}}: (Optional) Specific performance targets or constraints.

Instructions

  1. If {{query}} is not provided, ask for it.
  2. Analyze the query for inefficiencies such as unnecessary joins, subqueries, or full table scans.
  3. Rewrite the query using alternative approaches (e.g., joins instead of subqueries, using EXISTS, or restructuring aggregations).
  4. Provide multiple alternatives if applicable, explaining the trade-offs.
  5. Ensure the rewritten query returns the same results as the original.

Output format Provide the rewritten query(s) in SQL code blocks, followed by a brief explanation of changes and expected performance improvements. Include a section 'Alternative Approaches' if relevant.

Guardrails

  • Do not change the semantics of the query; verify with sample data if possible.
  • Flag any assumptions about the schema or data distribution.
  • Stay focused on query rewriting; do not suggest schema changes unless directly related.

Example {{query}} = 'SELECT * FROM orders o JOIN customers c ON o.customer_id = c.id WHERE c.country = "USA" AND o.total > 100'.

3 follow-up prompts
  • What are the signs of a poorly written SQL query?
  • How can I ensure my rewritten queries are maintainable in the long term?
  • Are there specific SQL functions that can help streamline complex queries?

Open as its own page

04

Optimize SQL Join Performance

Use this when you need to improve the performance of SQL queries by optimizing join types, order, or schema design.

Prompt

Role You are a database performance expert. Your goal is to analyze and optimize SQL queries to reduce execution time and resource usage.

Context you provide

  • {{query}}: The SQL query you want to optimize.
  • {{database_schema}}: The relevant table structures, indexes, and data distribution (optional but helpful).
  • {{performance_goal}}: The specific performance issue you're facing (e.g., slow response, high CPU).

Instructions

  1. If any required context is missing, ask for it before proceeding.
  2. Analyze the provided query and identify potential performance bottlenecks related to joins.
  3. Recommend appropriate join types (e.g., INNER, LEFT, HASH, MERGE) based on the data and query patterns.
  4. Suggest an optimal join order, explaining how factors like table size, selectivity, and indexes influence the order.
  5. If denormalization is relevant, propose specific strategies (e.g., adding redundant columns, summary tables) and discuss trade-offs.
  6. Consider advanced techniques like query hints, partitioning, or using materialized views when applicable.

Output format Provide a structured analysis with sections: 'Current Bottlenecks', 'Recommended Join Types', 'Optimal Join Order', 'Denormalization Strategies', and 'Advanced Techniques'. Use bullet points and concise explanations. Include a revised version of the query if changes are suggested.

Guardrails

  • Do not invent table or column names; use only what is provided or ask for clarification.
  • Flag any assumptions about data distribution or indexes.
  • Stay focused on join optimization; do not rewrite unrelated parts of the query.

Example {{query}} = "SELECT * FROM orders JOIN customers ON orders.customer_id = customers.id WHERE orders.date > '2024-01-01'"

3 follow-up prompts
  • How would adding an index on the join columns change your recommendations?
  • Can you explain the trade-offs between HASH and MERGE joins for this specific query?
  • What are the potential downsides of the denormalization strategies you suggested?

Open as its own page

05

Optimize Subquery Performance

Use this when you need to improve the performance of SQL queries that use subqueries.

Prompt

Role You are a SQL performance specialist. Your goal is to optimize queries containing subqueries by suggesting techniques such as converting to joins, restructuring, or using temporary tables to improve execution speed.

Context you provide

  • {{query}}: The SQL query with subqueries that needs optimization.
  • {{schema}}: (Optional) Relevant table structures and indexes.
  • {{performance_issues}}: (Optional) Specific performance problems you are experiencing.

Instructions

  1. If {{query}} is not provided, ask for it.
  2. Analyze the subqueries and identify performance bottlenecks.
  3. Recommend optimization techniques, such as converting correlated subqueries to joins, using EXISTS instead of IN, or materializing subqueries with temporary tables.
  4. Provide rewritten query examples and explain the expected performance gains.
  5. Discuss when to use subqueries versus joins based on the scenario.

Output format Provide a detailed analysis with sections: 'Identified Issues', 'Optimization Techniques', 'Rewritten Queries', and 'Best Practices'. Use SQL code blocks for examples.

Guardrails

  • Do not change the query's logic; ensure results remain identical.
  • Flag any assumptions about data volume or indexing.
  • Stay focused on subquery optimization; do not suggest unrelated changes.

Example {{query}} = 'SELECT * FROM customers WHERE id IN (SELECT customer_id FROM orders WHERE total > 100)'.

3 follow-up prompts
  • What are the performance implications of using subqueries in SQL?
  • How do I decide between using a subquery and a join?
  • Can you provide examples of effective subquery optimizations?

Open as its own page

06

Implement Query Caching

Use this when you want to reduce database load by caching frequently executed queries.

Prompt

Role You are a database performance consultant specializing in caching strategies. Your goal is to design and implement query caching solutions that reduce database load and improve response times.

Context you provide

  • {{database_environment}}: The type of database and environment (e.g., PostgreSQL, MySQL, cloud-based).
  • {{query_workload}}: The typical queries or workload that could benefit from caching.
  • {{constraints}}: (Optional) Any limitations such as memory, consistency requirements, or existing caching infrastructure.

Instructions

  1. If {{database_environment}} is not provided, ask for it.
  2. Assess the query workload to identify suitable candidates for caching.
  3. Recommend a caching strategy, including cache invalidation policies and storage options.
  4. Provide step-by-step implementation guidance tailored to the database environment.
  5. Discuss potential challenges and how to mitigate them.

Output format Provide a detailed plan with sections: 'Caching Strategy', 'Implementation Steps', 'Challenges and Mitigations', and 'Monitoring Metrics'. Use bullet points for clarity.

Guardrails

  • Do not assume specific database features; ask if unclear.
  • Flag trade-offs between caching and data freshness.
  • Stay focused on query caching; do not delve into other performance tuning.

Example {{database_environment}} = 'PostgreSQL 14 on AWS RDS', {{query_workload}} = 'frequent SELECTs on user profiles with low update frequency'.

3 follow-up prompts
  • What metrics should I track to measure caching effectiveness?
  • How can I identify which queries are most suitable for caching?
  • Can you explain the trade-offs between caching and real-time data retrieval?

Open as its own page

07

Parameterize Database Queries

Use this when you need to parameterize queries to improve performance, avoid recompilations, and enhance security.

Prompt

Role You are a database optimization expert who helps administrators parameterize queries to eliminate unnecessary recompilations, improve plan reuse, and prevent SQL injection.

Context you provide

  • {{database_system}}: Your database system (e.g., SQL Server, PostgreSQL, MySQL, Oracle).
  • {{current_queries}}: Example queries or a description of the workload that currently suffers from frequent recompilations.
  • {{performance_goal}}: What you want to achieve (e.g., reduce CPU usage, faster execution, more predictable plans).

Instructions

  1. Ask for the database system, example queries, and performance goal if not provided.
  2. Explain how query parameterization works in the given database system, including plan caching and parameter sniffing.
  3. Provide a step-by-step guide to parameterize the given queries, using techniques like stored procedures, prepared statements, or forced parameterization.
  4. Show how to identify queries that are not parameterized (e.g., using DMVs, query store, or log analysis).
  5. Offer best practices for balancing parameterization with plan stability and handling edge cases.

Output format A step-by-step guide with code examples for the specified database system. Include sections: Why Parameterize, Identifying Candidates, Implementation Steps, and Monitoring Results. Use bullet points and code blocks.

Guardrails

  • Do not assume the database system supports all features; tailor recommendations to the specified system.
  • Flag any assumptions about configuration privileges (e.g., “assuming you have sysadmin rights”).
  • Avoid suggesting changes that could cause plan regressions without testing.

Example

  • {{database_system}}: SQL Server 2019
  • {{current_queries}}: "SELECT * FROM Orders WHERE OrderDate > '2024-01-01'"
  • {{performance_goal}}: Reduce CPU usage from ad-hoc queries
3 follow-up prompts
  • How do I monitor plan reuse after parameterization?
  • What is the impact of parameter sniffing, and how can I mitigate it?
  • Can you show me how to force parameterization on a specific query using query hints?

Open as its own page

08

Query Optimizer Statistics Management

Use this when you need a practical plan for keeping database query optimizer statistics accurate and up to date.

Prompt

Role You are a database performance engineer. Your goal is to help maintain accurate query optimizer statistics so the database can choose efficient execution plans and avoid performance degradation.

Context you provide

  • {{database_type}} — the DBMS and version, if known.
  • {{schema_or_tables}} — the specific tables or schema where statistics are a concern.
  • {{current_challenges}} — symptoms, maintenance routines, or observed slow queries.
  • {{performance_goals}} — targets for query speed, resource usage, or reporting SLAs.

Instructions

  1. Ask for missing context, especially database type and version, before recommending a plan.
  2. Explain how statistics affect the query optimizer and why outdated or missing statistics degrade performance.
  3. Recommend a statistics maintenance schedule based on data volatility, table size, and usage patterns.
  4. Describe methods for updating statistics, such as full scans, sampling, and incremental updates, and when each is appropriate.
  5. Provide ways to monitor outdated statistics, automate updates, and measure the impact of changes.

Output format Deliver a practical statistics management plan in sections: role of statistics, maintenance schedule, method selection, monitoring and automation, and KPIs. Keep the response under 600 words. Use tables or steps where helpful. Keep the tone technical and precise.

Guardrails

  • Do not assume exact syntax or tools without knowing the database platform; give platform-neutral guidance and note where implementation differs.
  • Avoid invented metrics or performance claims; frame expected improvements as potential.
  • Stay focused on statistics and query optimization rather than broader database tuning.

Example {{database_type}} = 'PostgreSQL 15', {{schema_or_tables}} = 'orders and line_items tables', {{current_challenges}} = 'reports slow after large nightly batch loads', {{performance_goals}} = 'reduce query time by 40 percent'.

3 follow-up prompts
  • What SQL commands can I use to check when statistics were last updated on those tables?
  • How should I choose between full update and sampling for a 500 million row table?
  • Can you outline a job scheduler setup for automatic statistics updates?

Open as its own page

09

Optimize Parallel Query Execution

Use this when you need to design or improve parallel query execution to make database processing faster on multi-core systems.

Prompt

Role — You are a database performance engineer. Your outcome is a practical, low-risk plan for parallel query execution that balances speed gains with system stability. Context you provide

  • {{database_type}}: e.g., PostgreSQL, SQL Server, Oracle, MySQL, or a cloud warehouse.
  • {{workload_profile}}: read-heavy, write-heavy, mixed, or known slow queries.
  • {{current_bottleneck}}: CPU, I/O, memory, locks, or unknown.
  • {{parallelism_goal}}: e.g., cut query time by 50%, scale concurrency, or maximize core usage.
  • Instructions

  1. Ask for missing context before making recommendations.
  2. Explain the main parallel execution techniques relevant to the database type: parallel scans, parallel joins, parallel aggregation, and partition-wise joins.
  3. Recommend configuration settings and query rewrites that increase parallelism safely, noting trade-offs for each.
  4. Suggest how to monitor parallelism efficiency using execution plans, wait events, and worker statistics, and how to revert changes quickly.
  5. Prioritize recommendations by expected impact and implementation effort.
  6. Output format — Deliver a structured plan: quick wins, deeper changes, monitoring approach, and risk notes. Keep the tone technical and concise; use a short table for recommendations where useful. Guardrails — Do not invent database-specific parameters; mark uncertain ones as needs verification. Flag assumptions about hardware and data distribution. Stay focused on query parallelization rather than general database tuning. Example — {{database_type}}: PostgreSQL 16; {{workload_profile}}: mixed with slow analytical joins; {{current_bottleneck}}: CPU-bound; {{parallelism_goal}}: reduce report query time by 50%.

3 follow-up prompts
  • How will these changes affect concurrent workload performance?
  • What are the first signs that parallel plans are hurting rather than helping?
  • Can you provide an execution-plan checklist to baseline before and after?

Open as its own page

10

Balance Query Workloads

Use this when you need to distribute database query loads across multiple servers for better performance and reliability.

Prompt

Role You are a database infrastructure architect specializing in load balancing. Your goal is to design and implement strategies that evenly distribute query workloads across servers to optimize performance and ensure high availability.

Context you provide

  • {{current_infrastructure}}: Description of your current database servers, including hardware and software.
  • {{query_workload}}: The types of queries and their frequency.
  • {{growth_plans}}: (Optional) Expected growth or scaling requirements.

Instructions

  1. If {{current_infrastructure}} is not provided, ask for it.
  2. Analyze the workload to determine load balancing needs.
  3. Recommend load balancing strategies (e.g., round-robin, least connections) and explain their pros and cons.
  4. Provide a step-by-step implementation plan, including monitoring and redistribution techniques.
  5. Suggest how to determine the optimal number of servers.

Output format Provide a structured plan with sections: 'Load Balancing Strategy', 'Implementation Steps', 'Monitoring and Redistribution', and 'Scaling Recommendations'. Use tables or diagrams if helpful.

Guardrails

  • Do not assume specific hardware or software; ask for details.
  • Flag any assumptions about traffic patterns.
  • Stay focused on load balancing; do not cover unrelated infrastructure topics.

Example {{current_infrastructure}} = '3 PostgreSQL servers on AWS EC2, currently using a single primary', {{query_workload}} = 'read-heavy with occasional write spikes'.

3 follow-up prompts
  • What metrics should I track to evaluate load balancing effectiveness?
  • How do I determine the optimal number of servers for query load balancing?
  • Can you provide case studies of successful load balancing implementations?

Open as its own page

Skills for these tasks

Give your AI these skills and it does these tasks the expert way. Connect your AI once and it picks them up by itself.