Gebruik
JOIN
(in de
FROM
-component) om een tabel in een query op te nemen in plaats van een subquery in de
WHERE
-component. Deze tip is ook van toepassing als u de gegevens in een tabel alleen nodig hebt om te filteren, en niet als resultaatset.
Het samenvoegen van meerdere tabellen in de
FROM
-component levert betere prestaties dan het gebruik van een subquery in een
WHERE
-component.
Gebruik liever geen SQL-instructies die geen gebruik kunnen maken van indexen. Dit zijn instructies die gebruik maken van geaggregeerde functies in een subquery, een instructie
UNION
in een subquery of een component·
ORDER BY
met een instructie
UNION
.
Met een index kan de verwerking van een
SELECT
-query aanzienlijk worden versneld. Maar bepaalde SQL-syntaxis zorgt ervoor dat de database geen indexen kan gebruiken en gedwongen wordt om de werkelijke gegevens te gebruiken voor zoek- of sorteerbewerkingen.
Gebruik de operator
LIKE
liever niet, vooral niet met een jokerteken aan het begin, bijvoorbeeld
LIKE('%XXXX%')
.
De bewerking
LIKE
ondersteunt het gebruik van zoekopdrachten met jokertekens en is daarom langzamer dan vergelijkingen met exacte overeenkomst. Met name als u een jokerteken aan het begin van een zoektekenreeks plaatst, kan de database geen indexen gebruiken tijdens de zoekopdracht. In dat geval moet de volledige tekst van elke rij van de tabel worden doorzocht.
Gebruik de operator
IN
liever niet. Als de mogelijke waarden van tevoren bekend zijn, kan de
IN
-bewerking worden geschreven met behulp van
AND
of
OR
voor een snellere verwerking.
De tweede van de volgende twee instructies wordt sneller uitgevoerd. Deze instructie is sneller omdat deze gebruik maakt van eenvoudige expressies van gelijkheid in combinatie met
OR
in plaats van de instructies
IN()
of
NOT IN()
:
-- Slower
SELECT lastName, firstName, salary
FROM main.employees
WHERE salary IN (2000, 2500)
-- Faster
SELECT lastName, firstName, salary
FROM main.employees
WHERE salary = 2000
OR salary = 2500
Gebruik andere alternatieve SQL-instructies om de prestaties te verbeteren.
Zoals aangegeven in de voorgaande voorbeelden, kan de manier waarop een SQL-instructies is geschreven van invloed zijn op de databaseprestaties. Er zijn vaak meerdere manieren om de SQL-instructie
SELECT
te schrijven om een specifieke resultaatset op te halen. In sommige gevallen is de ene·benadering aanzienlijk sneller dan de andere. Naast de voorgaande suggesties kunt u meer te weten komen over verschillende SQL-instructies en de bijbehorende prestaties via speciale bronnen·over de SQL-taal.
|
|
|