web-dev-qa-db-fra.com

Quelle est la différence entre le hachage et l'indexation?

J'ai étudié le hachage dans les SGBD (extensible, linéaire) et sur l'indexation dans les SGBD (peu dense, dense, index basés sur une clé secondaire, etc.), mais je suis incapable de comprendre quelle est la différence entre le hachage et l'indexation. Ces deux techniques sont-elles utilisées ensemble ou sont-elles simplement utilisées? Je suis confus parce que les deux techniques semblent nous permettre de récupérer rapidement les données. Je pense donc que l'une ou l'autre devrait suffire.

Quelqu'un peut-il clarifier la différence?

25
user1543957

Qu'est-ce que l'indexation?

L'indexation est un moyen de trier un nombre d'enregistrements sur plusieurs champs. La création d'un index sur un champ dans une table crée une autre structure de données qui contient la valeur du champ et un pointeur sur l'enregistrement auquel elle se rapporte. Cette structure d'index est ensuite triée, ce qui permet d'effectuer des recherches binaires.

Qu'est-ce que le hachage?

Le hachage est la transformation d'une chaîne de caractères en une valeur ou une clé de longueur fixe généralement plus courte qui représente la chaîne d'origine. Le hachage est utilisé pour indexer et récupérer des éléments dans une base de données car il est plus rapide de rechercher l'élément à l'aide de la clé hachée plus courte que de le rechercher à l'aide de la valeur d'origine.

Je pense que cela peut effacer votre doute.

19
Heena Hussain

Le hachage est en quelque sorte un index: il peut être utilisé pour localiser un enregistrement en fonction d'une clé - mais il ne conserve pas l'ordre des enregistrements. Basé sur le hachage, on ne peut pas itérer sur l'élément suivant ou précédent. C’est cependant ce que fait l’index (dans le contexte des bases de données).

13
Aki Suihkonen
  • Le hachage ne garantit pas que des valeurs distinctes seront hachées en une adresse distincte.
  • La collision est là dans Hashing.
  • Le hachage entraîne un débordement.
  • Il n'est pas nécessaire d'accéder à une structure d'index pour localiser des données, puis les lire à partir de DB File.
  • Il y a une commande pour définir l'indexation mais pas pour le hachage.
2
Vishnu Maru

le hachage est une technique de recherche avancée.i.e des données volumineuses sont transformées en un petit élément de données et stockées dans une table. Mais l'indexation et la recherche binaire se font de manière linéaire . De plus, l'indexation est utilisée pour créer un index (clé) permettant la combinaison de plusieurs champs 

0
RAviRaaJA