SQL Server Performance Tuning

SQL Server T-SQL Performance Tuning – Views

In this installament of the TSQL Performance Tuning series we turn our attention to Views Views Used Within Joins or Where Conditions As a generic concept, an inner join with an object which has insufficient indexing will result in index scanning or perhaps a table scan which also applies for Views Impacts: • Much CPU […]

Natural vs. Surrogate Keys in SQL Server : Getting the Proper Perspective

I once walked into a bar, and saw two construction workers pounding each other to a pulp.  The argument was over what was the better tool—a  hammer or screwdriver.  I feel a similar sensation when I see SQL developers arguing over whether to use natural or surrogate keys.    Few other arguments in database design can […]

Multiple Table Queries in SQL Server – UNION, EXCEPT, INTERSECT, Subqueries, and Joins

There are several for creating queries that return data from multiple tables. The one you choose depends on your data retrieval requirements and the underlying structure of the database. In this three part article series, I will demonstrate how to combine data from multiple tables by using UNION, INTERSECT, and EXCEPT. You’ll perform advanced queries […]

Improving 2D Range Query Performance in SQL Server

When using the BETWEEN operator on multiple columns, you are likely using a 2D range query.  Such queries perform very poorly in SQL Server.   This article will tell you how you can often use additional information to rewrite such queries for much better performance.  We’ll conclude by rewriting an actual BETWEEN query in a manner […]

Replicating A Volume Of Large Data via Transactional Replication

During weekend maintainence, members of the support team executed an UPDATE statement against the database on the OLTP Server. This database was a part of Transactional Replication and the database on the subscriber was used by the SSRS reports. The UPDATE statement impacted around 3500000 records. Once the UPDATE statement was executed, the Replication procedure […]

SQL Server Performance Tuning – Index Tuning

In earlier installments of this series we looked at T-SQL Performance optimizations along with different T-SQL practices, we can now turn our attention to the second part of this series which is index Tuning In looking into Views we will break the article into two sections : Basic Index Tuning using DTA (Database Tuning Advisor) […]

Does Transactional Replication Include Structural Changes Made to a Database

We typically use Transactional Replication for Reporting purposes. In Transactional Replication, the idea is to replicate the changes done on the Publisher Database (OLTP) onto the Subscriber Database (Reporting).  The main challenge in Replication is whether it will replicate the structural changes made on the Publisher database successfully onto the Subscriber database. For Demonstration purposes, […]

SQL Server 2014 – Delayed Transaction Durability

Prior to SQL Server 2014, SQL Server used a Write Ahead Log (WAL) mechanism which means that changes are written to the transaction log before they are committed.  The major advantage with this mechanism is that there will be no data loss . However, since IO is the slowest component, there will be a high […]

SQL Server 2014 Performance Tuning – Columnstore Indexes

SQL Server 2014 updatable in-memory columnstore (abbreviated to xVelocity where appropriate) index is another compelling performance-related feature of SQL Server 2014. Columnstore indexes enable you to deliver predictable performance for large data volumes. Columnstore indexes were first introduced with SQL Server 2012, to significantly improve performance of data warehouse workloads. For certain data warehousing analytical […]

SQL Server 2014 Performance – Resource Governor Enhancements and Buffer Pool Extension

In this second of the three part article series, we will first take a look at Resource Governor Enhancements for Physical IO.  Finally, we will talk about buffer pool extension feature. Resource Governor Enhancements for Physical IO control Resource Governor allows us to manage our workloads. This feature was first introduced with SQL Server 2008. […]