A data type decides what a column holds, what it costs in bytes, and how SQL Server compares it. Why NVARCHAR doubles your storage, why float will not compare cleanly, and the conversion that quietly kills an index.
FORMAT vs CONVERT: The CPU Cost of Pretty Dates
FORMAT makes dates look nice, but it costs CPU on every row. Here is the gap, and where it hurts most.
Delayed Transaction Durability Explained: SQL in Sixty Seconds #074
Delayed transaction durability lets a commit return before its log record reaches the disk. This post explains the idea and the three settings, then measures 10,000 small transactions on SQL Server 2025 and shows the one risk with a log write count. It ends with a simple rule for using it safely.
Example of Delayed Durability: How Much Faster Are Commits?
This example of delayed durability runs 50,000 small transactions on SQL Server 2025 four ways and compares time and log writes. It shows what the database setting and the commit option change, and what you risk.
Live Execution Plan of a Running Query: SQL in Sixty Seconds #073
A live execution plan shows how far a query has gotten while it is still running. This post builds a slow query on SQL Server 2025, watches it through sys.dm_exec_query_profiles from a second window, and explains why rows divided by the estimate is a progress meter only when the estimate is right.
Cardinality Estimation and Performance: SQL in Sixty Seconds #072
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.







