Bonjour,
Je suis en train de créer une base sous PostgreSQL 8.2 dans laquelle je stocke des séquence d'ADN, dont la longueur maximum est de 13 000 caractères environ.
Je voudrais sélectionner les séquences communes d'une table temporaire avec ma table de séquences.
Pour ceci, j'ai créé un index pour les séquences de chacune des tables :
target_sequence
idtarget_sequence SERIAL,
sequence TEXT
CREATE INDEX sequence_indx ON target_sequence(sequence);
targettmp
seq_ TEXT
CREATE INDEX seq_indx ON targettmp(seq_);
Je tente la commande :
EXPLAIN select sequence, seq_ from targettmp, target_sequence where sequence = seq_
Et voici le résultat de l'EXPLAIN :
Apparement les index ne sont pas utilisés, les 2 tables ont 7 000 000 d'entrées chacune, si le parcourt est séquentiellement, la requête sera impossible.
Pourriez-vous m'aiguiller là-dessus ?
En vous remerciant,
C. Tobini
Partager