Tôi đã nhận thấy kế hoạch thực hiện đôi khi bao gồm một StatementParameterizationType
thuộc tính.
Cái này là gì, có nghĩa là gì và khi nào nó xuất hiện?
Tôi đã nhận thấy kế hoạch thực hiện đôi khi bao gồm một StatementParameterizationType
thuộc tính.
Cái này là gì, có nghĩa là gì và khi nào nó xuất hiện?
Câu trả lời:
Các StatementParameterizationType
thuộc tính chỉ ra loại tham số hóa áp dụng đối với báo cáo kết quả.
Các giá trị được ghi lại trong sys.query_store_query
:
Nó chỉ xuất hiện trên nút gốc của các kế hoạch hậu thực hiện ("thực tế").
Các Query cửa hàng cũng phải được kích hoạt để xem thuộc tính này (ví dụ trong SSMS).
Bản demo AdventureWorks :
USE AdventureWorks2017;
GO
ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE;
ALTER DATABASE CURRENT SET PARAMETERIZATION SIMPLE;
GO
-- None (0)
SELECT COUNT_BIG(*)
FROM Production.Product AS P
WHERE P.Color = N'Red';
GO
-- User (1)
EXECUTE sys.sp_executesql
@stmt = N'
SELECT COUNT_BIG(*)
FROM Production.Product AS P
WHERE P.Color = @Color;',
@params = N'@Color nvarchar(15)',
@Color = N'Red';
GO
-- Simple (2)
SELECT A.AddressID
FROM Person.[Address] AS A
WHERE A.AddressLine1 = N'1 Smiling Tree Court';
GO
ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE;
ALTER DATABASE CURRENT SET PARAMETERIZATION FORCED;
GO
-- Forced (3)
SELECT COUNT_BIG(*)
FROM Production.Product AS P
WHERE P.Color = N'Red';