103 votes

Bitmap tas de numérisation

Je veux savoir le principe de la "Bitmap tas d'analyse" , je sais que cela arrive souvent lorsque j'exécute une requête avec "ou" dans la condition. Quelqu'un peut dire le principe de la "Bitmap tas de numérisation" ,merci!

117voto

Denis Points 34131

La meilleure explication que vient de Tom Lane, qui est l'algorithme de l'auteur si je ne me trompe. Voir aussi l' article de wikipedia.

En bref, c'est un peu comme un seq scan. La différence est que, plutôt que de se rendre chaque disque de la page, une image bitmap index scan ANDs et Rup applicable index ensemble, et que les visites les pages de disque qu'il doit.

C'est différent d'une analyse d'index, où l'indice est visité, ligne par ligne, dans l'ordre-à-dire une page disque peut obtenir visité plusieurs fois.


Re: la question dans votre commentaire... Oui, c'est exactement ça.

Une analyse d'index sera de passer à travers les lignes une par une, l'ouverture des pages de disque encore et encore, autant de fois que nécessaire (certains seront bien sûr de rester dans la mémoire, mais vous obtenez le point).

Une image bitmap d'index scan de manière séquentielle ouvrir une liste de pages de disque, et de saisir tous les de ligne applicable dans chacun d'eux (d'où le soi-disant revérifier cond que vous voyez dans les plans de requête).

Remarque, en passant, comment l'agrégation et la ligne de commande affecte les coûts associés avec la méthode. Si les lignes sont tous sur la place dans un ordre aléatoire, une image bitmap d'index sera moins cher. (Et, en fait, si ils sont vraiment tous sur la place, la seq scan sera moins cher, depuis un bitmap index scan n'est pas sans certains frais généraux.)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X