Query Optimization

SQLServerCentral Article

5 (4)

You rated this post out of 5. Change rating

2023-11-20 (first published: )

3,411 reads

SQLServerCentral Article

Optimized Plan Forcing with Query Store in SQL Server 2022

  • Article

In this Article ,  We will delve into the world of Query Store and explore how to use Optimized Plan Forcing to improve performance in SQL Server 2022. We will discuss what it is, how it works, and how it can impact your system's performance.

5 (1)

You rated this post out of 5. Change rating

2023-09-04

2,958 reads

SQLServerCentral Article

Optimize Your SQL by Reformulating the Spec

  • Article

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,342 reads

External Article

The Query Optimizer: Date Correlation Optimisation

  • Article

In SQL Server 2005, a feature was introduced that was hardly noticed, but which might make a great difference to anyone doing queries involving temporal data. For anyone doing Data Warehousing, timetabling, or time-based pricing, this could speed up your queries considerably. Who better to introduce this than Query Optimizer expert, Fabiano Amorim?

2009-10-26

3,485 reads

Technical Article

Statistics Used by the Query Optimizer in Microsoft SQL Server 2008

  • Article

Microsoft SQL Server 2008 collects statistical information about indexes and column data stored in the database. These statistics are used by the SQL Server query optimizer to choose the most efficient plan for retrieving or updating data. This paper describes what data is collected, where it is stored, and which commands create, update, and delete statistics. By default, SQL Server 2008 also creates and updates statistics automatically, when such an operation is considered to be useful. This paper also outlines how these defaults can be changed on different levels (column, table, and database).

2009-07-24

2,506 reads

Blogs

Are ABORT_AFTER_WAIT's victims logged?

By

In SQL Server, using the KILL command to terminate a session results in an...

Part 2: The Modern Azure Data Warehouse – ADF and ADLS

By

In today’s data-driven world, having the right tools to manage and process large datasets...

A New Word: Flichtish

By

flichtish – adj. nervously aware how much of your self-image is based on untested...

Read the latest Blogs

Forums

How Big Data Supports Gen AI

By Prasenjit

Comments posted to this topic are about the item How Big Data Supports Gen...

Backup with Checksum Show No Issues, While DBCC CHECKDB Reports Errors

By IT researcher

I took a backup with the CHECKSUM option, which was successful and showed no...

Realities of Predictive Analysis

By Louis Davidson (@drsql)

Comments posted to this topic are about the item Realities of Predictive Analysis

Visit the forum

Question of the Day

Multiple Query Trace Flags

I want to enable two trace flags, 4199 and 4137, for a single query. How should I do this:

-- A
SELECT
  a.AddressID
, a.AddressLine1
, a.AddressLine2
, a.City
, a.StateProvinceID
, a.PostalCode
, p.FirstName
, p.LastName
FROM
  Person.Address a
  INNER JOIN person.Person AS p
    ON p.rowguid = a.rowguid
WHERE
  City           = 'SEATTLE'
  AND PostalCode = 98104
OPTION (QUERYTRACEON 4199, 4137);

-- B
SELECT
  a.AddressID
, a.AddressLine1
, a.AddressLine2
, a.City
, a.StateProvinceID
, a.PostalCode
, p.FirstName
, p.LastName
FROM
  Person.Address a
  INNER JOIN person.Person AS p
    ON p.rowguid = a.rowguid
WHERE
  City           = 'SEATTLE'
  AND PostalCode = 98104
OPTION (QUERYTRACEON 4199, QUERYTRACEON 4137);

-- C
SELECT
  a.AddressID
, a.AddressLine1
, a.AddressLine2
, a.City
, a.StateProvinceID
, a.PostalCode
, p.FirstName
, p.LastName
FROM
  Person.Address a
  INNER JOIN person.Person AS p
    ON p.rowguid = a.rowguid
WHERE
  City           = 'SEATTLE'
  AND PostalCode = 98104
OPTION (QUERYTRACEON 4199), (QUERYTRACEON 4137);

See possible answers