J'ai deux tables:Postgresql 8.3, simple requête de ne pas utiliser l'index
table1 (about 200000 records)
number varchar(8)
table2 (about 2000000 records)
number varchar(8)
'nombre' champs dans les deux tables ont des index standard. Pour chaque enregistrement de la table 1, environ 10 enregistrements de la table 2 sont affectés.
J'exécute la requête:
explain select table1.number from table1, table2 where table1.number = table2.number;
Le plan de requête indique que les index ne seront pas utilisés, Scans Seq partout;)
Mais si je réduis nombre d'enregistrements dans le tableau 1 à ~ 2000 plan de requête commence à montrer que l'index sera utilisé. Peut-être que quelqu'un peut me dire pourquoi postgresql se comporte de cette façon?
En raison de décisions de conception passées, il ne s'agit pas toujours d'un nombre –