Efficiënte SQL-syntaxis

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.