SQL indexation sur varchar

J'ai une table dont les colonnes sont varchar(50) et un float. J'ai besoin de (très rapidement) de chercher à obtenir le flotteur associé à une chaîne donnée. Même avec l'indexation, c'est plutôt lent.

Je sais, cependant, que chaque chaîne est associée à un nombre entier, dont je sais qu'au moment de la recherche, de sorte que chaque chaîne correspond à un entier unique, mais chaque entier ne correspond pas à une chaîne unique. On pourrait penser que c'est une structure en arbre.

Il n'y a rien à gagner par l'ajout de cet entier à la table, l'indexation sur elle, et à l'aide d'une requête comme:

SELECT floatval FROM mytable WHERE phrase=givenstring AND assoc=givenint

C'est Postgres, et si vous ne pourriez pas dire, j'ai très peu d'expérience avec les bases de données.

InformationsquelleAutor alex | 2010-04-13