Advanced
High-Volume SQL Query Optimization
Optimize a poorly performing SQL query involving multi-table joins and subqueries on a dataset with millions of rows.
📝 Contenido del prompt
Analyze the following scenario: A PostgreSQL query joining 5 tables (Orders, Customers, Products, Shipments, and Reviews) with multiple WHERE clauses and a sorting operation takes 45 seconds to execute. The database has 50 million rows in the Orders table.
1. Identify the potential bottlenecks (e.g., lack of indexes, join order, inefficient sorting).
2. Rewrite the query to utilize CTEs (Common Table Expressions) or window functions if applicable.
3. Propose a specific indexing strategy to support the query.
4. Explain how partitioning the Orders table might further improve performance.