A small innodb_buffer_pool_size contributed to one customer slow MySQL query. The comparable SQL Server workload ran quickly.
SQL SERVER – Using NOEXPAND with Indexed View
NOEXPAND treats an indexed view as stored indexed data instead of expanding its base tables. Customer results have differed.
SQL SERVER – Parameter Sniffing and Bad Plan
Disabling parameter sniffing does not guarantee that a bad plan becomes good. That remains my answer to the customer question.
Parallelism in Express Edition: What the Limits Mean
Parallelism in Express Edition has its own reason code in the execution plan. This post reads that reason, shows the settings that keep a plan serial on any edition, and tests the check on a demo table.
SQL SERVER – Dirty Pages Clean Pages and the Correct Cache Commands
Clean Pages have no outstanding data-file write, while dirty pages contain unwritten changes. A customer asked which state was better.
Recovery Model Changes and the Log Backup Chain
Explain the log backup chain across FULL and SIMPLE changes, inspect recovery LSNs and backup history, and establish a new backup boundary.
Status Changes Only: Collapsing Repeated Rows With LAG
Hundreds of repeated readings, three real changes. Here is how LAG finds them, and why a plain not-equal test quietly drops rows.







