2008-11-10 3 views
2

Est-ce que quelqu'un sait comment fonctionnent les index de fonction dans les bases de données?Comment les index de fonction fonctionnent-ils dans SQL?

+0

Il n'existe pas d'indice de fonction! Parlez-vous des arguments interrogeables? –

+0

Je pense qu'il parle de créer un index foo sur la fonction table (foo) –

+0

Mitch, WTF parlez-vous> –

Répondre

1

Si vous parlez de prendre le résultat d'une fonction lors de la création de l'indice, cette fonction est utilisée de SQL comme ceci:

CREATE INDEX index_name ON table_name (function_name(column_name)); 

Ceci peut être utilisé par le planificateur pour les requêtes comme:

SELECT foo FROM table_name WHERE bar = function_name(column_name); 

pour plus de détails, consultez la documentation exacte de SGBDR donné (par exemple, dans PostgreSQL il est appelé indexes on expressions).

1

Dans Oracle il y a quelque chose appelé index basés sur une fonction:

Oracle 8i introduit fonction des index basés pour résoudre le problème suivant: exécuter une fonction sur une colonne indexée dans la clause where d'une requête garantie un index ne serait pas utilisé.

Voici un lien: Function Based Indexes on Oracle-Base

+0

Je ne sais pas ce que signifie "slove". Bien sur que oui. Je pense que vous pourriez dire son intention aussi. Busting sur lui pour manquer un mot n'est pas en accord avec SO Karma. –

+0

Mark, je suis désolé que ma réponse soit choquante. Je me souviens d'avoir édité ma réponse. La réponse originale ne contenait que les deux premiers paragraphes et visait à clarifier sa question. – splattne

+0

Juste pour le compte rendu: j'ai enlevé les deux premiers paragraphes qui pourraient être mal compris. – splattne