Introduction
Introduction Statistics Contact Development Disclaimer Help
Return Create A Forum - Home
---------------------------------------------------------
ExcelSoft Database Professionals
https://esdbp.createaforum.com
---------------------------------------------------------
*****************************************************
Return to: General
*****************************************************
#Post#: 75--------------------------------------------------
Optimizing Procedural Code
By: srinivasma_exceldbp Date: June 11, 2014, 6:15 am
---------------------------------------------------------
◾Implicit Conversation leads to Clustered Index Scan
◾Seen in the predicate of the Scan Operator in the
Execution Plan
&#9726;Unicode <> Non Unique Conversion
&#9726;Entity Framework v1 needs Unicode for that reason in the
database
&#9726;Constant Scan
&#9726;One Column, One Row RowSet
&#9726;Index over a computed column leads to a persisted
computed column
&#9726;Query Compilation
&#9726;Phase 0
&#9726;Initializes the Query Optimizer
&#9726;Query cost <= 0.2 will take the plan for execution
&#9726;Phase 1
&#9726;Phase 2
&#9726;Clock runs until timeout is occurred
&#9726;See �Timeout� in Execution Plan
&#9726;Hash Join is used when you have no indexes/keys on the
table
&#9726;When you have a key/index on at least one table, a nested
loop join is used
&#9726;Each query operator is COM object
&#9726;Bitmap IN ROW optimization
&#9726;Correlated sub query indicates Nested Loop operator
&#9726;Samples are used when Auto Create and Auto Update
Statistics is used
&#9726;Depends on the number of pages, around 20% � 30% are used
&#9726;Density Vector returns the number of distinct rows
&#9726;Filtered Indexes/Filtered Statistics are rebuild based on
ALL rows, not the filtered rows
&#9726;sys.dm_os_memory_cache_entries
&#9726;original_cost
&#9726;current_cost
&#9726;DBCC FLUSHPROCINDB(db_id)
&#9726;DBCC USEROPTIONS shows the SET and all the other session
options
&#9726;user_id = default schema id
&#9726;Disable SET ARITHABORT option in SSMS
&#9726;Every client that connects to SQL Server has this option
also disabled
&#9726;Query may be is slow from an application server or other
user, compared to SSMS a new execution plan, because ARITABORT
is different
&#9726;Therefore the execution plan is compiled, and execution
plan created for the current supplied parameters
&#9726;Therefore parameter sniffing can�t be reproduced within
SSMS when ARITABORT is enabled!
&#9726;GROUP BY/HAVING clause
&#9726;Query will never get parametrized
&#9726;Also not, when FORCED parameterization is enabled on the
database
&#9726;When you need FORCED parameterization on query level
&#9726;Use Plan Guides
&#9726;Halloween Protection
&#9726;Eager Spool is a Stop-And-Go Operator
&#9726;Lazy Spool is a Pass-Through Operator
&#9726;E.g. When updating a Clustered Index in a table
&#9726;Table Valued Function
&#9726;Inline Statement Table Valued Function
&#9726;Gets a Parse Tree (cacheobjtype), View (objtype) in
sys.dm_exec_cached_plans
&#9726;Get no record in sys.dm_exec_query_stats
&#9726;One record in sys.dm_exec_query_stats for the statement,
that is calling the Inline Statement Table Valued Function
&#9726;Multiple Statement Table Valued Function
&#9726;Gets a Compiled Plan (cacheobjtype), Proc(objtype) in
sys.dm_exec_cached_plans
*****************************************************
You are viewing proxied material from gopher.createaforum.com. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.