4 tips tối ưu câu lệnh SQL mà Data Analyst giỏi nên biết

4 tips tối ưu câu lệnh SQL mà Data Analyst giỏi nên biết

Tiếp tục với series kiến thức về SQL cho DA, hôm nay là chia sẻ về những tips để tối ưu truy vấn SQL trong công việc nhé.

Vậy 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. 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 học 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

Các kênh thông tin của Vinh:

Share để lưu bài viết