Phân tích và Tối ưu Query Performance

Quay lại bài học

Phân tích và Tối ưu Query Performance

Lập trình

Phân tích query execution plans và đề xuất tối ưu

Cho các queries sau, hãy: 1. Phân tích execution plan sử dụng EXPLAIN 2. Xác định vấn đề performance 3. Đề xuất indexes và query optimization 4. Viết lại queries để tối ưu performance

Code mẫu
-- Query 1: Tìm sản phẩm theo tên (case-insensitive)
SELECT * FROM products 
WHERE LOWER(product_name) LIKE '%laptop%';

-- Query 2: Thống kê doanh thu theo category
SELECT c.category_name, SUM(oi.quantity * oi.unit_price) as total_revenue
FROM order_items oi
JOIN products p ON oi.product_id = p.product_id
JOIN categories c ON p.category_id = c.category_id
WHERE oi.created_at BETWEEN '2024-01-01' AND '2024-12-31'
GROUP BY c.category_name
ORDER BY total_revenue DESC;

-- Query 3: Tìm khách hàng có nhiều đơn hàng nhất
SELECT c.customer_id, c.name, COUNT(o.order_id) as order_count
FROM customers c
JOIN orders o ON c.customer_id = o.customer_id
WHERE o.order_date >= DATE_SUB(NOW(), INTERVAL 1 YEAR)
GROUP BY c.customer_id, c.name
HAVING COUNT(o.order_id) > 5
ORDER BY order_count DESC
LIMIT 10;