Kế hoạch thực thi

Cải thiện hiệu năng truy vấn trong SQL Server

Dean Smith

Founder, Atamai Analytics

Giai đoạn tối ưu hóa

Giai đoạn tối ưu hóa

Cải thiện hiệu năng truy vấn trong SQL Server

Giai đoạn tối ưu hóa

Giai đoạn tối ưu hóa kèm mô tả

Các tham số chi phí được đánh giá gồm:

  • Mức sử dụng CPU
  • Mức sử dụng bộ nhớ
  • Số lần đọc trang dữ liệu
Cải thiện hiệu năng truy vấn trong SQL Server

Giai đoạn tối ưu hóa

Giai đoạn tối ưu hóa và bộ máy thực thi

Các tham số chi phí được đánh giá gồm:

  • Mức sử dụng CPU
  • Mức sử dụng bộ nhớ
  • Số lần đọc trang dữ liệu
Cải thiện hiệu năng truy vấn trong SQL Server

Thông tin từ kế hoạch thực thi

Kế hoạch thực thi cung cấp thông tin về:

  • Có dùng chỉ mục hay không
  • Kiểu join được dùng
  • Vị trí và chi phí tương đối của:
    • điều kiện lọc
    • sắp xếp
    • tổng hợp
Cải thiện hiệu năng truy vấn trong SQL Server

Kế hoạch thực thi ước tính trong SSMS

 

Mục Estimated execution plan trên thanh công cụ SSMS

Cải thiện hiệu năng truy vấn trong SQL Server

Kế hoạch thực thi ước tính trong SSMS

 

Mục Estimated execution plan trên thanh công cụ SSMS với tooltip

Cải thiện hiệu năng truy vấn trong SQL Server

Xem kế hoạch thực thi trong SSMS

Kế hoạch thực thi trong SSMS

Cải thiện hiệu năng truy vấn trong SQL Server

Thống kê toán tử

Thống kê toán tử trong kế hoạch thực thi

Cải thiện hiệu năng truy vấn trong SQL Server

Đọc kế hoạch thực thi

Các toán tử trong kế hoạch thực thi

Cải thiện hiệu năng truy vấn trong SQL Server

Ví dụ về chỉ mục

SELECT * 
FROM Customers
WHERE CustomerID = 'PARIS';

Toán tử quét bảng

SELECT * 
FROM CustomersCI
WHERE CustomerID = 'PARIS';

Toán tử tìm kiếm trên clustered index

Cải thiện hiệu năng truy vấn trong SQL Server

Ví dụ về toán tử Sort

SELECT FruitName, FruitType
FROM Fruits1

UNION

SELECT FruitName, FruitType
FROM Fruits2;

Kế hoạch thực thi với UNION

SELECT FruitName, FruitType
FROM Fruits1

UNION ALL

SELECT FruitName, FruitType
FROM Fruits2;

Kế hoạch thực thi với UNION ALL

Cải thiện hiệu năng truy vấn trong SQL Server

Cùng một kế hoạch thực thi?

SELECT * 
FROM Customers
WHERE CustomerID IN 
    (SELECT CustomerID 
     FROM Orders);

Kế hoạch thực thi cho IN và EXISTS

SELECT * 
FROM Customers c
WHERE EXISTS
    (SELECT 1 
     FROM Orders o 
     WHERE c.CustomerID = o.CustomerID);

Kế hoạch thực thi cho IN và EXISTS

Cải thiện hiệu năng truy vấn trong SQL Server

Ayo berlatih!

Cải thiện hiệu năng truy vấn trong SQL Server

Preparing Video For Download...