Tiếp tục với series kiến thức về SQL cho Data Analyst, hôm nay là chia sẻ về những tips để tối ưu truy vấn SQL trong công việc nhé.
Đầu tiên là tại sao vấn đề tối ưu câu lệnh SQL nên được Data Analyst quan tâm?
Câu trả lời là: việc tối ưu các truy vấn SQL giúp giảm lượng thời gian người dùng cần để nhận được kết quả sau khi chạy (run) câu lệnh truy vấn; bên cạnh đó, việc này cũng giúp làm giảm resource (tài nguyên, chi phí) được sử dụng để xử lý truy vấn. Đồng thời, việc viết các câu lệnh tối ưu khiến bạn cần suy nghĩ kỹ càng hơn, sắp xếp lại tinh gọn từ đó giúp tư duy của bạn rõ ràng, mạch lạc hơn. Hơn hết, có thể bạn chưa biết, việc viết các câu lệnh tối ưu có thể khiến bạn có thêm điểm cộng trong mắt sếp đấy nhé!
Trong bài viết này, bạn sẽ học cách xác định thời điểm có thể cải thiện các truy vấn của mình và cách cải thiện chúng.
1. Chỉ SELECT fields, thay vì SELECT *
Bạn chỉ nên select để xem những dữ liệu cần thiết từ bảng thay vì xem hết tất cả dữ liệu, việc này giúp làm giảm chi phí truy vấn (query cost) và xử lý những dữ liệu không mong muốn.
- DON’T
- DO
2. Giảm table size
Để cải thiện tốc độ truy vấn, bạn nên lọc dữ liệu để chỉ lấy các quan sát bạn cần mà thôi. Cách bạn làm điều này sẽ phụ thuộc hoàn toàn vào vấn đề mà bạn đang cố gắng giải quyết. Ví dụ: nếu bạn có dữ liệu chuỗi thời gian, việc giới hạn trong 1 thời gian ngắn sẽ có thể giúp truy vấn của bạn chạy nhanh hơn nhiều, đặc biệt là lúc bạn chỉ đang thực hiện EDA (Exploratory Data Analysis) mà thôi.
3. Hạn chế truy vấn con được liên kết (linked subqueries)
A linked subquery depends on the query from the parent or from an external source. It runs row by row, so the average cycle speed is greatly affected.
Linked subqueries phụ thuộc vào truy vấn từ cấp độ gốc (parent) hoặc từ nguồn bên ngoài (external source). Nó chạy từng hàng một, vì vậy tốc độ chu kỳ trung bình sẽ bị ảnh hưởng rất nhiều nếu dùng linked subqueries
- DON’T
- DO
4. Dùng WHERE thay vì HAVING
Mệnh đề HAVING dùng để lọc các hàng (rows) sau khi tất cả các hàng được chọn và nó hoạt động giống như một bộ lọc. Các câu lệnh HAVING được xác định theo thứ tự thao tác SQL sau các câu lệnh WHERE. Do đó, việc thực hiện truy vấn WHERE sẽ nhanh hơn.
- DON’T
- DO
Hy vọng bài viết trên có thể giúp các bạn có thêm những tips hay và áp dụng thành công được ngay trong công việc Data Analyst của mình nhé!
Xem Infographic 4 tips tối ưu câu lệnh SQL mà Data Analyst giỏi nên biết
– Xem ngay Lộ trình học Data Analyst chuyển ngành thành công trong vòng 6 tháng
– Xem ngay Lộ trình học Marketing Automation & Analytics Coaching 1 on 1 để upgrade kỹ năng phân tích cho Marketer
– Tham gia Vietnam Data Analyst Forum – #1 Informative Group để học hỏi và chia sẻ kiến thức về Data Analytics
– Cập nhật lịch khai giảng, chương trình ưu đãi và nhận tư vấn chuyển ngành miễn phí tại Data Coaching 1 on 1 – UniGap
One Comment
Comments are closed.