Bonjour à tous,

On m'a soumis un exercice concernant les bases de données.
J'ai beau chercher, je ne comprends pas le résultat.

On a deux bases de donnée avec les même tables et les même données dedans.
Seule la table 'toto' diffère
Pour la 1ere base de donnée : le champ A (integer) est déclaré comme clef primaire.
Pour la 2eme base de donnée : il n'y a pas de clef primaire.

On réalise la requête suivante sur chacune des deux bases:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
explain ANALYZE select * from toto where A*12=420;
Les "counts" sont identiques.
Temps de réponse pour la 1ere base : 7 secondes (seq scan)
Temps de réponse pour la 2eme base : 0.7 secondes (seq scan)


J'ai beau chercher, je ne comprends pas pourquoi il y a un écart de temps de réponse si différent.

Est-ce que quelqu'un aurait une explication et/ou une référence sur ce sujet ?

Merci,
Inarus