Implicit Conversions: A Hidden SQL Server Performance Cost
When compared values use incompatible data types, SQL Server may convert an indexed column at runtime. The result can be a scan, poor estimates, and unnecessary CPU.
Read articlePractical articles about ClickHouse, SQL Server, analytics architecture, performance, migration, and database operations.
When compared values use incompatible data types, SQL Server may convert an indexed column at runtime. The result can be a scan, poor estimates, and unnecessary CPU.
Read articleTraverse parent-child data with explicit roots, cycle protection, depth limits, and indexing while detecting incomplete or misleading hierarchy results.
Read articleChoose Unicode storage deliberately, understand nvarchar length and UTF-8 byte limits, and test the complete application round trip.
Read articleBuild correct date filters over UTC timestamps, handle daylight saving changes, and keep SQL Server indexes useful with half-open boundaries.
Read articleUnexpected transaction log growth can fill a volume, slow transactions, delay replicas, and extend recovery. Shrinking the log treats a symptom and often repeats the cycle.
Read articleBuild parameterized literal prefix searches, escape wildcard characters correctly, and distinguish prefix, substring, and full-text behavior.
Read articleAllow missing external identifiers while enforcing tenant-scoped uniqueness for known values, with explicit rules for normalization and concurrent writes.
Read articleCompare session settings, parameter types, and captured module options to explain why SQL behaves differently in an application and an SSMS window.
Read articleLeaving max server memory at its default can starve Windows and co-located services. Setting it too low causes avoidable reads, compilations, and memory-grant pressure.
Read articleExpress all-required-item queries with NOT EXISTS, handle empty requirements and duplicates, and distinguish all required from exactly required.
Read articleDesign predictable retention jobs with a fixed cutoff, ordered batches, short transactions, progress reporting, and validation that finds missed rows.
Read articleDefault parallelism settings are rarely an intentional workload design. Excessive parallelism can amplify CPU and worker pressure, while restrictive settings can slow analytical work.
Read article