Dans un fichier article assez volumineux (150.000 références) la requête SQL suivante est assez longue (3 à 4 secondes) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
SELECT * FROM ARTICLES
WHERE UPPER(DESIGNATION) LIKE 'BOULON%'
La colonne article est indéxée, il semble que ce soit la fonction UPPER qui ralentisse la requête car sans cette fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
SELECT * FROM ARTICLES
WHERE DESIGNATION LIKE 'BOULON%'
la requête est instantanée.

L'inconvénient c'est que les articles en minuscules ne sont pas trouvés...
J'ai donc l'impression que le moteur Firebird converti toute la table en majuscules puis ensuite exécute la requête...
Existe t'il un moyen d'utliser l'opérateur LIKE de façon a ce qu'il soit insensible à la casse ?

NB : le problème est le même avec STARTING WITH