db-berater-server-2

SQL Server Blog

Installation | Konfiguration | Optimierung von Microsoft SQL Server

Partitioning and LOCK_ESCALATION = AUTO

Partitioning is, among other things, a great feature when it comes to storing new data in the table as quickly as possible. The locking behavior for the table in particular is a decisive advantage of concurrency when using LOCK_ESCALATION = AUTO. There are a few...

mehr lesen

The role of a DBA is NOT Tuning but Operations

You often read on social networks that a DBA's job is to optimize databases, among other things. I think that's a misinterpretation of the - important - role of a DBA. Why? I'm happy to share my opinion on the role a DBA has to play in a company and why tuning is not...

mehr lesen

Foreign Key Constraints – JOIN Elimination

JOIN Elimination in Microsoft SQL Server is an optimization technique with foreign key constraints where the query engine removes redundant JOIN operations during query execution. This occurs when the data from the joined table is not used in the SELECT clause or any...

mehr lesen

Foreign Key Constraints – Part II

My first article on using foreign key constraints in databases included the claim that using them slows down an application. This article addresses the claim that a Foreign Key Constraint use locks and can cause Deadlocks and thus slow down applications. Claim...

mehr lesen

Use Foreign Key Constraints in your Databases – Part I

When revising one of my popular sessions on scenarios in which indexes no longer help, one of the topics covered was foreign key constraints for data integrity and JOIN eliminiation. During my research, I came across various arguments from developers who reject...

mehr lesen

Consider the correct data type in queries

Although an index should provide a fast query, Microsoft SQL Server either does not want to use that index at all or does not want to use it optimally. The cause is not SQL Server or the index but think about the correct data types for your predicates in your queries!...

mehr lesen

ISNULL() and SARGable queries

Database developers like to use the ISNULL() function to check two conditions and compare them with a search value. This is often done with the intention of finding records that do not have a value stored in the attribute. Sometimes they can get lucky - but not...

mehr lesen

Optimize search for a random key value from a table

Unit tests/demos in workshops and conference sessions sometimes require a random key value from an existing table. In this article I present a solution that accomplishes this task quickly and in a resource-efficient manner. Why an existing - random - key? The...

mehr lesen

Partitionierung hat NICHTS mit Performance Tuning zu tun!

Sie gehen ins Internet und immer wieder stoßen Sie auf Blogartikel, Posts in Social Media und Kommentare, die Ihnen erzählen, dass Partitionierung Abfragen optimieren, weil sie nicht alle Daten lesen müssen. Fakt ist "Partitioning will NOT improve the performance of a...

mehr lesen

User Definied Functions als Spalten in Tabellen

Wer berechnete Attribute in Tabellen verwendet, sollte sich darüber im Klaren sein, dass unter bestimmten Voraussetzungen die Performance leidet. Dieser Artikel beschreibt die Nachteile, die sich aus „berechneten Attributen“ in Tabellenobjekten ergeben.

mehr lesen