A case-sensitive WHERE clause needs a COLLATE on the comparison, but the obvious version scans the index. A demo measures 286 reads against 2, and shows two fixes: keep the plain test beside it, or give the column a case-sensitive collation.
SQL SERVER – Data and Index Compression – Real-World Conversation
Index Compression needs workload measurements of storage, I/O and CPU. A customer conversation prompted my earlier advice.
Memory-Optimized Tables as a Key-Value Cache
Build a key-value cache with SCHEMA_ONLY memory-optimized tables, native get and set procedures, expiry checks, and bounded cleanup.
Top Three Wait Stats and What Each One Means
The top three wait stats in the files people sent in were CXPACKET, SOS_SCHEDULER_YIELD and ASYNC_IO_COMPLETION. A small demo makes each wait happen and measures it with session wait statistics. The post explains what each one means and what to check next.
Wait Stats for Performance – SQL in Sixty Seconds #157
I finally decided to create a video on that topic on my SQL in Sixty Seconds Channel. I will create more videos on the topic Wait Stats for Performance.
Waits Since Restart: A Wait Stats Query With Uptime Rates
Waits since restart show where a SQL Server spends its waiting time. One query ranks the real waits, removes the idle ones, and adds the average wait, the signal share and a rate per hour of uptime. A table maps the common waits to the area to check next.
COUNT(*), COUNT(column) and COUNT(DISTINCT): Basics That Trip People
Why do two counts of the same table disagree? Five tiny demos show NULL, blank text, LEFT JOIN placeholders, bigint and join multiplication.







