SQLite indexé par
La clause "INDEXED BY index-name" précise qu'un index nommé doit être nécessaire pour trouver la valeur dans la table précédente.
Si le nom d'index nom-index n'existe pas ou ne peut pas être utilisé pour la requête, alors la préparation de l'instruction SQLite échoue.
La clause "NOT INDEXED" précise qu'aucun index n'est utilisé lors de l'accès à la table précédente (y compris les index implicites créés par les contraintes UNIQUE et PRIMARY KEY).
Cependant, même si « NON INDEXÉ » est spécifié, la CLÉ PRIMAIRE INTEGER peut toujours être utilisée pour rechercher des entrées.
Syntaxe
Voici la syntaxe de la clause INDEXED BY, qui peut être utilisée avec une instruction DELETE, UPDATE ou SELECT :
INDEXED BY (index_name)
table_name
WHERE (CONDITION);
Instance
En supposant qu'il y ait table COMPANY, nous allons créer un index et l'utiliser pour les opérations INDEXED BY.
sqlite>
Utilisez maintenant la clause INDEXED BY pour sélectionner les données de la table COMPANY comme indiqué ci-dessous :
sqlite> SELECT * FROM COMPANY INDEXED BY salary_index WHERE salary > 5000;