Compare one fingerprint instead of twenty columns. I show a safe HASHBYTES recipe, the NULL trap that fools CONCAT_WS, and a load that touches only the rows that changed.
Reasons for Slow Performance in SQL Server: The Top Five
The reasons for slow performance in SQL Server fall into five groups: schema design, T-SQL code, indexing, server deployment and hardware. This post tests three of them on a demo database, with logical reads as proof. It also shows a query that checks four deployment settings.
Display Rupee Symbol in SSMS and T-SQL With FORMAT
To display rupee symbol and Indian digit grouping in SSMS, format the number with an Indian culture, or use the Unicode character 8377. This post compares en-IN, hi-IN, gu-IN and kn-IN, shows the nvarchar rule that keeps the symbol from turning into a question mark, and formats dates for the same cultures.
ISNUMERIC Function Returns 1 for 12e5: What to Use Instead
The ISNUMERIC function returns 1 for strings that are not plain numbers, such as 12e5, a lone dollar sign and a lone plus. This post shows what it accepts, why, and which tests to use instead. It covers TRY_CAST and its blank string quirk, TRY_PARSE, and the digit pattern checks readers suggest.
APPROX_COUNT_DISTINCT With GROUP BY: When Exact Wins
APPROX_COUNT_DISTINCT with GROUP BY returns an estimate for every group. A tested demo on 2,000,000 rows shows a memory grant of 207,616 KB for the exact count against 3,112 KB for the estimate, and a memory grant of 0 for the exact count once an index exists. It also shows the error on small groups, where 4,648 of 100,000 groups were off.
NEWID vs NEWSEQUENTIALID: What Each Does to Your Index
NEWID vs NEWSEQUENTIALID decides whether new uniqueidentifier keys land at random in your clustered index or in order at the end. This post loads 20,000 rows with each default, measures pages, fullness and fragmentation, and shows the limits of NEWSEQUENTIALID. It also answers what happens when you switch the default on a table that already has rows.
Get the Second Row From a Table in SQL Server
To get the second row from a table, first decide what second means, because a table has no order until you give it one. This post builds a small demo and compares ROW_NUMBER, OFFSET and FETCH, and TOP inside TOP. It also covers every second row, the second row in each group, ties and the cost of each method.







