Cardinality estimation and performance depend on each other: the optimizer guesses a row count, and that guess picks the plan and sets the reads. This post tests one query under the old and the new estimator on SQL Server 2025, shows where the new guess wins and where it loses, and explains how to switch estimators with the smallest possible change.
REGEXP_LIKE Performance: Why Pattern Filters Cannot Seek
A short pattern can run a long CPU bill. Here is why REGEXP_LIKE scans, and how a plain prefix filter gives the index something to seek.
Play by Play with Pinal Dave: Tuning SQL Server Performance
Play by Play with Pinal Dave was my birthday gift on July 30, 2014: a Pluralsight course that shows how I tune SQL Server performance on a real problem. This post tells why I made it and what each of the five modules covers.
Scalar UDF Inlining: When Old Functions Suddenly Get Fast
Check scalar UDF inlining eligibility, database settings, function options, and execution plans before claiming a performance improvement.
Constant Folding: Expressions the Optimizer Solves Before Running
SQL Server does the math on your literals once, while it builds the plan. Here is where that helps, and where it quietly stops.
Foreign Keys Without Indexes: Finding and Fixing Slow Deletes
Find foreign keys without indexes, inspect parent-delete plans, and choose leading child-table keys that support relationship checks.
Vertical Partitioning: Moving Rarely Used Columns Off a Hot Table
Moving rarely used columns to a side table can cut reads, or change nothing. Here is how to measure it and what it costs your writes.







