Articles

SQLServerCentral Article

Understanding CRUD Operations on Tables with B-tree Indexes, Page-splits, and Fragmentation

Introduction Every DML transaction reads the data before it makes any changes. Not only during a SELECT query, but when you run any DML statement, insert, update, or delete, SQL Server first fetches a bunch of pages into the buffer pool locating the desired rows and changes them while synchronously writing to the transaction log […]

5 (6)

You rated this post out of 5. Change rating

2021-05-10

6,904 reads

SQLServerCentral Article

Optimize Your SQL by Reformulating the Spec

As SQL developers, we tend to think of performance tuning in terms of crafting the best table indices, avoiding scalar and table valued functions, and analyzing query plans (among other things). But sometimes going back to the spec and applying some properties of elementary math can be the best way to begin to improve performance of SQL queries which implement mathematical formulas. This article is a case study of how I used this technique to optimize my SQL implementation of the Inverse Simpson Index.

5 (3)

You rated this post out of 5. Change rating

2021-05-07 (first published: )

5,365 reads

External Article

DevOps as a bludgeon

With both personal experience and the real world evidence to back it up, Grant Fritchey says, unequivocally, a well-implemented DevOps process helps the organization. But it's not always easy to bridge a siloed organization, and sometimes organizations adopt DevOps for the wrong reasons.

2021-05-07

Blogs

Taming Database Challenges: Insights from Redgate Keynote

By

I am excited to cover the Microsoft Keynote on Day 2: Redgate Keynote: Simplifying...

AI Innovation in Microsoft Keynote

By

I’m thrilled to be covering the Microsoft Keynote: Fuel AI Innovation with Azure Databases on Day...

Benefits of Migrating from Azure Synapse Analytics to Microsoft Fabric

By

Many customers ask me about the advantages of moving from Azure Synapse Analytics to...

Read the latest Blogs

Forums

Unencrypted connections in Always on Availability Group

By Awais Afzal

Hi, In my Always On Availability environment, I am seeing two encrypt_option values as...

Error loading multiple CSV files in SSIS

By water490

Hi everyone I have a bunch of CSV files that I need to bulk...

What's New for the Microsoft Data Platform

By Steve Jones - SSC Editor

Comments posted to this topic are about the item What's New for the Microsoft...

Visit the forum

Question of the Day

Using Outer Joins

I have this data in a SQL Server 2019 database:

Customer table
CustomerID CustomerName
1          Steve
2          Andy
3          Brian
4          Allen
5          Devin
6          Sally

OrderHeader table
OrderID CustomerID OrderDate
1       1          2024-02-01
2       1          2024-03-01
3       3          2024-04-01
4       4          2024-05-01
6       4          2024-05-01
7       3          2024-06-07
8       2          2024-04-07
I want a list of all customers and their order counts for a period of time, including zero orders. If I run this query, how many rows are returned?
SELECT 
  c.CustomerName, COUNT(oh.OrderID)
 FROM dbo.Customer AS c
LEFT JOIN dbo.OrderHeader AS oh ON oh.CustomerID = c.CustomerID
WHERE oh.Orderdate > '2024/04/01'
GROUP BY c.CustomerName

See possible answers