Bỏ qua điều hướng

Prompt miễn phí

Tối ưu truy vấn SQL chậm trên bảng lớn

Phân tích truy vấn SQL chạy chậm trên dữ liệu lớn, đề xuất bản tối ưu, chỉ mục phù hợp và cách đọc kế hoạch thực thi.

Onter AdminCập nhật 26/09/2026 Mới · Chưa có đánh giá 0 lượt copy
CodingChatGPTClaudeCodex

Prompt dùng để làm gì?

Phân tích truy vấn SQL chạy chậm trên dữ liệu lớn, đề xuất bản tối ưu, chỉ mục phù hợp và cách đọc kế hoạch thực thi.

Điền thông tin của bạn

Prompt

Bạn là chuyên gia tối ưu SQL cho hệ thống dữ liệu lớn. Hãy phân tích truy vấn hiện tại, sơ đồ bảng, kiểu dữ liệu cột, khóa chính, khóa ngoại và chỉ mục hiện có để xác định nguyên nhân làm truy vấn chạy chậm trên bảng nhiều triệu dòng. Dựa trên đó, đề xuất phiên bản truy vấn tối ưu hơn, giải thích ngắn gọn vì sao cách viết mới giảm chi phí lọc, nối hoặc sắp xếp. Đồng thời, chỉ ra chỉ mục nào nên thêm, chỉ mục nào có thể đang dư thừa, và dự đoán tác động tới kế hoạch thực thi ở mức dễ hiểu. Nếu tôi cung cấp EXPLAIN hoặc EXPLAIN ANALYZE, hãy đọc và diễn giải từng điểm quan trọng như quét toàn bảng, dùng index, số dòng ước tính và bước tốn chi phí nhất. Kết quả cần gồm: nhận định hiệu năng, truy vấn đề xuất, chỉ mục khuyến nghị, và ghi chú kiểm tra sau tối ưu. Nếu có nhiều cách sửa, hãy ưu tiên phương án ít rủi ro nhất với dữ liệu hiện có. Dữ liệu đầu vào: - Truy vấn SQL hiện tại: {{truy_van_hien_tai}} - Sơ đồ bảng và cột liên quan: {{so_do_bang}} - Kết quả EXPLAIN nếu có: {{explain_ket_qua}}
Xem đã lưu

Input mẫu

truy_van_hien_tai: SELECT u.id, u.name, o.total FROM users u JOIN orders o ON u.id = o.user_id WHERE o.created_at >= '2024-01-01' ORDER BY o.created_at DESC;
so_do_bang: users(id PK, name); orders(id PK, user_id, total, created_at); indexes: users(id), orders(user_id)
explain_ket_qua: type=ALL on orders, Using filesort

Output mẫu

Nhận định hiệu năng: truy vấn đang lọc và sắp xếp trên orders.created_at nhưng chưa có chỉ mục phù hợp, nên dễ quét nhiều dòng và filesort. Truy vấn đề xuất: giữ điều kiện ngày tháng, nhưng thêm chỉ mục (created_at, user_id) hoặc xem xét (user_id, created_at) tùy chọn lọc chính. Chỉ mục khuyến nghị: index trên orders.created_at để hỗ trợ ORDER BY, và đánh giá composite index theo thứ tự truy cập thực tế. Ghi chú kiểm tra: chạy lại EXPLAIN ANALYZE để xem số dòng đọc giảm và bước tốn chi phí có còn là sort hay không.

Cách sử dụng

Điền {{truy_van_hien_tai}} và {{so_do_bang}} trước, rồi thêm {{explain_ket_qua}} nếu có kế hoạch thực thi. Dán prompt vào công cụ hỗ trợ SQL để phân tích. Sau khi nhận kết quả, kiểm tra xem có đủ truy vấn tối ưu, chỉ mục khuyến nghị và giải thích kế hoạch thực thi hay chưa; nếu thiếu phần nào thì yêu cầu bổ sung riêng.

Giải thích cấu trúc

Role
Vai trò là chuyên gia tối ưu truy vấn và đọc kế hoạch thực thi SQL.
Context
Ngữ cảnh là truy vấn chậm trên bảng lớn với schema và có thể có kết quả EXPLAIN.
Task
Phân tích nguyên nhân chậm, viết lại truy vấn, đề xuất chỉ mục và diễn giải tác động.
Constraints
Ưu tiên phương án ít rủi ro, không bịa dữ liệu ngoài schema đã cung cấp, giải thích dễ kiểm chứng.
Output
Xuất bốn phần: nhận định hiệu năng, truy vấn đề xuất, chỉ mục khuyến nghị, và ghi chú kiểm tra sau tối ưu.

Mẹo sử dụng

  • Cung cấp kiểu dữ liệu và chỉ mục hiện có để tránh đề xuất index không phù hợp.
  • Nếu truy vấn có JOIN nhiều bảng, nêu rõ bảng nào là nguồn lọc chính.
  • EXPLAIN ANALYZE giúp kiểm tra hiệu quả thực tế sau khi tối ưu.

Nguồn và giấy phép

ONTER biên tập · original

Đánh giá prompt

Chọn số sao theo trải nghiệm của bạn. Bạn có thể sửa đánh giá sau một phút.

Prompt liên quan

Tài khoản Onter

Đăng nhập rồi tiếp tục việc đang làm.

Mở trang đăng nhập riêng nếu trình duyệt chưa hiển thị biểu mẫu.

Contact Me on Zalo