Định Dạng SQL
Tại sao nên định dạng câu lệnh SQL?
SQL không được định dạng hầu như không thể đọc được, đặc biệt với các JOIN, truy vấn con và CTE phức tạp. Công cụ định dạng thêm thụt lề đúng, xuống dòng và viết hoa từ khóa, giúp dễ dàng xem xét, gỡ lỗi và chia sẻ câu lệnh với nhóm.
tools/development.sql-formatter.content.features.readable.title
tools/development.sql-formatter.content.features.readable.desc
tools/development.sql-formatter.content.features.cross.title
tools/development.sql-formatter.content.features.cross.desc
tools/development.sql-formatter.content.features.debug.title
tools/development.sql-formatter.content.features.debug.desc
Định dạng SQL trong 3 bước
Dán câu lệnh SQL
Sao chép và dán SQL từ trình soạn thảo code, client DB hoặc log truy vấn
Nhấp Định dạng
Nhấp 'Định dạng SQL' để áp dụng thụt lề đúng và viết hoa từ khóa
Sao chép và sử dụng
Sao chép SQL đã định dạng trực tiếp vào client DB, ORM hoặc tài liệu
Các trường hợp sử dụng định dạng SQL
Xem xét code
Định dạng SQL trước khi xem xét để đồng nghiệp có thể thấy rõ cấu trúc
Gỡ lỗi truy vấn
Giải mã các mệnh đề WHERE và chuỗi JOIN phức tạp để tìm lỗi logic nhanh chóng
Tài liệu
Thêm SQL được định dạng tốt vào tài liệu kỹ thuật, README và hướng dẫn
Tối ưu hóa truy vấn
Dễ dàng xác định chỉ số còn thiếu và thứ tự JOIN không hiệu quả với SQL được định dạng
Các thực hành tốt nhất cho SQL
✓ Tránh SELECT *
Luôn xác định tên cột. Cải thiện hiệu suất và ngăn ngừa sự cố khi thay đổi lược đồ.
✓ Dùng bí danh rõ ràng
Dùng bí danh bảng có ý nghĩa trong JOIN để làm cho câu lệnh phức tạp dễ đọc.
✓ Dùng EXPLAIN
Chạy EXPLAIN hoặc EXPLAIN ANALYZE trước khi triển khai các câu lệnh chậm.
✓ Đánh chỉ số cột WHERE
Đảm bảo các cột trong WHERE, JOIN ON và ORDER BY được đánh chỉ số để có hiệu suất tối ưu.
❓ Câu hỏi thường gặp
Hỗ trợ những phương ngữ SQL nào?
SQL chuẩn và tương thích với MySQL, PostgreSQL, SQLite, SQL Server (T-SQL) và Oracle.
Định dạng có thay đổi hành vi truy vấn không?
Không. Công cụ định dạng chỉ thay đổi khoảng trắng và kích thước chữ của từ khóa. Logic truy vấn, kết quả và kế hoạch thực thi không thay đổi chút nào.
Có thể định dạng SQL với stored procedures không?
Có. Xử lý CREATE PROCEDURE, BEGIN/END, câu lệnh DECLARE và các cấu trúc SQL thủ tục khác.
Thu gọn có ích gì trong ứng dụng?
SQL thu gọn giảm kích thước chuỗi truy vấn nhúng trong source code và làm log nhỏ gọn hơn.