Supposons une table qui contienne un champ NAME et un index sur ce champ.
CREATE INDEX my_index ON my_table (NAME)
Une requête comme celle qui suit va utiliser l'index:
SELECT * FROM my_table WHERE NAME="Alexandre"
Maintenant j'aimerais faire des requêtes sur valeurs partielles (des préfixes pour être précis) mais je souhaite que l'index soit aussi utilisé, comme ceci par exemple,:
SELECT * FROM my_table WHERE NAME="Alex%"
En retour j'obtiendrais tous les Alex, Alexandre, Alexandra, etc.
Techniquement parlant, rien ne l'empêche. En C il suffirait d'utiliser la fonction strncmp() au lieu de strcmp() pour faire des comparaisons (et donc des recherches) sur valeur partielle.
Est-ce possible de forcer SQL d'en faire autant ?
Merci.
Partager