FirebirdSQL logo
 TABLEVIEW 

Indices calculés ou indices par expression

Lorsque vous créez un index au lieu d’une ou plusieurs colonnes, vous pouvez également spécifier une seule expression en utilisant la clause COMPUTED BY.Un tel index est appelé index calculé ou index basé sur les expressions.Les index calculés sont utilisés dans les requêtes dans lesquelles la condition dans les clauses WHERE, ORDER BY, ou GROUP BY est exactement la même que l’expression dans la définition de l’index.Une expression dans un index calculé peut utiliser plusieurs colonnes de la table.

Indices partiels

Si vous pouvez spécifier une clause optionnelle WHERE lors de la création d’un index qui spécifie une condition de recherche,qui restreint le sous-ensemble des entrées de la table à indexer. De tels index sont appelés index partiels.La condition de recherche doit contenir une ou plusieurs colonnes du tableau.

La définition d’un index partiel peut inclure la spécification UNIQUE. Dans ce cas, chaque clé de l’index doit être unique. Cela garantit l’unicité pour un sous-ensemble de lignes de la table.

Un index partiel ne peut être utilisé que dans les cas suivants :

  • La condition WHERE comprend exactement la même expression logique que celle définie pour l’index ;

  • La condition de recherche définie pour l’index contient des expressions logiques combinées par OR, et l’une d’entre elles est explicitement incluse dans la condition WHERE ;

  • La condition de recherche définie pour l’index spécifie IS NOT NULL, et la condition WHERE inclut une expression pour le même champ qui est connue pour ignorer NULL.