Junior — Middle
What approaches can be used to increase the speed of a long SQL query?
sobes.tech AI
Answer from AI
To improve the performance of a long SQL query, the following approaches can be applied:
- Query optimization: rewrite the query, remove unnecessary JOINs, subqueries, and use more efficient constructs.
- Indexing: create indexes on columns involved in filtering (WHERE), sorting (ORDER BY), and joins (JOIN).
- Execution plan analysis: use EXPLAIN or similar tools to understand which operations take the most time.
- Caching: store results of frequently executed queries to avoid re-executing them.
- Pagination: if a large amount of data needs to be retrieved, load it in parts (LIMIT, OFFSET).
- Use of prepared statements: for repeated queries with different parameters.
- Parallelization: if the DBMS and application support it, execute queries in parallel.
Example in Python using indexing and prepared statements:
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# Create index
cursor.execute('CREATE INDEX IF NOT EXISTS idx_user_id ON users(user_id)')
# Prepared query
query = 'SELECT * FROM users WHERE user_id = ?'
user_id = 123
cursor.execute(query, (user_id,))
results = cursor.fetchall()
conn.close()