5. Optimizer Limitations with Filtered Indexes
Conclusion
Redundant join predicates can be necessary to match
filtered indexes.
Filtered unique indexes do not provide uniqueness
information to the optimizer.
In some cases it may be practical to simply add the
redundant predicates to every query.
7. Forcing a Parallel Query Execution Plan
Conclusion
Below actions make serial plan in SQL Server
Table variable’s content modification.
Any T-SQL scalar function.
CLR scalar functions marked as performing data access.
Random intrinsic functions including
OBJECT_NAME, ENCRYPTBYCERT and IDENT_CURRENT.
System table access. (e.g. sys.tables)
TOP
Sequence Project (e.g. ROW_NUMBER, RANK)
Recursive CTEs
8. Forcing a Parallel Query Execution Plan (Cont.)
Conclusion
Even experts with decades of SQL Server experience and
detailed internal knowledge will want to be careful with
trace 8649 flag.
10. Statistics on Ascending Columns
Conclusion
This is just an alternative way to fix a problem that is seen
with large tables with ascending columns.
The best solution is to update statistics periodically.
Trace flag 2389 will work only for columns branded as
ascending.
Trace flag 2390 does not make sense to do so because it
will stop working when the column turns out to be
ascending.