Xác định vị trí tiêu tốn performance trong câu truy vấn trên Oracle Database

1. Performance của truy vấn đến Database

Khi nói đến cải thiện performance của phần mềm điều đầu tiên được nghĩ đến đó là cải thiện thời gian truy vấn đến database.

Tuy nhiên với những hệ thống lớn 1 truy vấn sẽ rất dài và phức tạp nên việc tìm được đúng vị trí gây tốn performance để cải thiện là việc quan trọng nhất.

Để hỗ trợ cho việc nay Oracle Database cung cấp 1 số function giúp phân tích và đo tốc độ của các thành phần trong 1 câu truy vấn (ví dụ như phần join, phần select của sub querry…)

2. Cách thực hiện

  • Trước tiên cần chạy truy vấn sau để clear cache trên database
  • Sau đó chạy truy vấn muốn kiểm tra performance. Ví dụ

Chú ý: /**truy_van_can_kiem_tra**/ là cách đánh dấu để hệ thống biết cần kiểm tra performance của truy vấn nào. Có thể thay đổi tên này tùy ý (ví dụ /**test_truy_van**/) nhưng phải thay đổi cả trong câu lệnh lấy dữ liệu về performance bên dưới

  • Chạy truy vấn sau để lấy dữ liệu về performance của câu truy vấn cần kiểm tra
  • Sau khi chạy truy vấn trên chúng ta sẽ lấy được danh sách các thành phần của câu truy vấn cần kiểm tra, thời gian đã dùng cho các thành phần đó, tỷ lệ sử dụng cpu… Từ đó biết được phần nào là phần gây tốn performance để cải thiện.

※ Với postgres SQL các bạn có thể dùng execution plan cũng có chức năng phân tích truy vấn và đo performance tương tự.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *