The Where Clause


The previous chapter described the structure of indexes and explained the cause of poor index performance. In the next step we learn how to spot and avoid these problems in SQL statements. We start by looking at the where clause.

The where clause defines the search condition of an SQL statement, and it thus falls into the core functional domain of an index: finding data quickly. Although the where clause has a huge impact on performance, it is often phrased carelessly so that the database has to scan a large part of the index. The result: a poorly written where clause is the first ingredient of a slow query.

This chapter explains how different operators affect index usage and how to make sure that an index is usable for as many queries as possible. The last section shows common anti-patterns and presents alternatives that deliver better performance.

If you like my way of explaining things, you’ll love my book.

About the Author

Photo of Markus Winand
Markus Winand tunes developers for high SQL performance. He also published the book SQL Performance Explained and offers in-house training as well as remote coaching at http://winand.at/

?Recent questions at
Ask.Use-The-Index-Luke.com

1
vote
2
answers
5.3k
views

"Order by RAND()" - can use Index?

Feb 23 at 12:06 Markus Winand ♦♦ 936
random index mysql order-by-rand
0
votes
2
answers
1.1k
views

index for better performance for a merge operation

Feb 20 at 11:43 antilet 1
merge index
0
votes
0
answers
2.1k
views

Join with inequalities only

Dec 16 '14 at 12:06 Markus Winand ♦♦ 936
inequality join