Chapter19 Examples
Chapter19 Examples
1
SET SHOWPLAN_TEXT ON;
GO
USE AdventureWorks;
ON e.BusinessEntityID = a.AddressID
GO
Example 19.2
USE sample;
SELECT * into new_addresses
FROM AdventureWorks.Person.address;
GO
CREATE INDEX i_stateprov on new_addresses(StateProvinceID);
Example 19.3
-- high selectivity
USE sample;
SELECT * FROM new_addresses a
WHERE a.StateProvinceID = 32;
Example 19.4
-- low selectivity
USE sample;
WHERE a.StateProvinceID = 9;
Example 19.5
USE AdventureWorks;
Example 19.6
USE AdventureWorks;
Person.Address a
ON e.BusinessEntityID = a.AddressID
Example 19.7
USE AdventureWorks;
ON a.StateProvinceID = s.StateProvinceID;
Example 19.8
USE AdventureWorks;
CREATE INDEX i_unitprice
ON Sales.SalesOrderDetail(UnitPrice)
WHERE UnitPrice > 1000;
SELECT SalesOrderDetailID, UnitPrice
FROM Sales.SalesOrderDetail
WHERE UnitPrice > 2000;
Example 19.9
USE master;
Example 19.10
SELECT ecp.objtype AS Object_Type ,
qs.total_elapsed_time AS Total_Elapsed_Time,
qs.last_execution_time AS Last_Exec_Time,
qs.creation_time AS Creation_Time
FROM sys.dm_exec_query_stats AS qs
Example 19.11
SUBSTRING(st.text, (qs.statement_start_offset/2)+1,
((CASE qs.statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE qs.statement_end_offset
FROM sys.dm_exec_query_stats AS qs
Example 19.12
USE sample;
CREATE TABLE State
(State_ID int IDENTITY PRIMARY KEY,
State_name varchar(120) NOT NULL);
INSERT State (State_name)
VALUES ('Idaho'), ('Iowa'), ('Indiana'), ('Texas');
GO
CREATE STATISTICS State_Stats
ON State (State_Name) ;
GO
SELECT object_id,stats_id,range_high_key,range_rows,equal_rows
FROM sys.dm_db_stats_histogram(OBJECT_ID('State'), 2);
Example 19.13
USE sample;
WHERE a.StateProvinceID = 9;
Example 19.14
USE AdventureWorks;
SELECT * FROM Person.Address a
WITH(INDEX(0))
WHERE a.StateProvinceID = 32;
GO
SET SHOWPLAN_TEXT OFF;
Example 19.15
USE AdventureWorks;
HumanResources.EmployeeDepartmentHistory h
OPTION(FORCE ORDER);
Example 19.16
USE AdventureWorks;
Example 19.17
USE AdventureWorks;
SELECT * FROM Person.Address a INNER MERGE JOIN Person.StateProvince s
ON a.StateProvinceID = s.StateProvinceID;
Example 19.18
USE AdventureWorks;
Example 19.19
sp_create_plan_guide @name = N'Example_19_15',
@stmt = N'SELECT * FROM Person.Address a JOIN Person.StateProvince s
ON a.StateProvinceID = s.StateProvinceID',
@type = N'SQL',
@module_or_batch = NULL,
@params = NULL,
@hints = N'OPTION (HASH JOIN)'