Đầu ngày hôm nay, tôi đã làm việc với một nhà phát triển về một truy vấn có hiệu suất kém. Truy vấn này rất lớn và phức tạp, và ban đầu nó trông giống như một nỗ lực khó khăn để tìm ra vấn đề hiệu suất nằm ở đâu. Với Kế hoạch giải thích, chúng tôi đôi khi có thể sử dụng chi phí để giúp thu hẹp điểm khó khăn về hiệu suất của một truy vấn lớn, phức tạp.
Nhìn vào Sơ đồ giải thích của truy vấn này, chúng ta có thể thấy chi phí tổng thể của nó là khá cao.
Khi xem xét chi tiết, chúng ta có thể thấy rằng quét bảng FULL (FTS) trên bảng DETAIL_RECORD có chi phí cao là 51018. Hãy chú ý cách chi phí cao của FTS truyền lên kế hoạch. Tất cả các hoạt động trên FTS này đều có chi phí cao vì chi phí truy cập bảng đơn này rất cao. Truy cập bảng CIMS_POLICIES_TO_PROCESS có chi phí tương đối thấp, nhưng hoạt động HASH JOIN nhận được chi phí cao chỉ vì chi phí cao để truy cập vào bảng DETAIL_RECORD.
Chi phí tổng thể chỉ cao hơn một chút so với chi phí để truy cập bảng này. Rõ ràng là FTS trên bảng này là yếu tố đóng góp lớn nhất vào điểm mấu chốt của truy vấn này đang được phân tích.
Bằng cách xem xét chi phí Kế hoạch giải thích theo cách này, chúng tôi có thể nhanh chóng tập trung vào một lĩnh vực của truy vấn rất phức tạp đang gây ra nhiều khó khăn về hiệu suất nhất. Nếu không có phân tích chi phí được thực hiện ở đây, việc xác định phần nào của truy vấn bên dưới đang gây ra vấn đề sẽ là rất nhiều công việc.