1. Hash Join:
también se conoce como «go-to-guy» en el caso de los operadores de combinación. Esto significa que, en caso de que no se prefiera ninguna otra unión (tal vez debido a que no se ha ordenado o indexado, etc.), entonces se utiliza la unión hash. La unión hash es el mejor algoritmo cuando se van a unir datos grandes, desordenados y no indexados (que residen en tablas). El algoritmo hash join consta de una fase de prueba y una fase de construcción.
En el caso de 2 relaciones denominadas R y S, el algoritmo para Hash join sería el siguiente:
Hash records of R, one by one, using A values (Use same M buckets and same hash function h) Hash matching pair of records into same bucket End
2. Sort Merge Join:
Sort Merge Join como sugiere su nombre, tiene 2 fases en el algoritmo de unión, a saber, fase de clasificación y fase de fusión. El algoritmo de combinación es el algoritmo de combinación más rápido. Esta es la razón por la que Sort Merge Join es más rápido en el caso de relaciones ordenadas. Suponiendo que 2 relaciones ordenadas R y S deben fusionarse, el algoritmo es el siguiente:
If R is sorted on A, S is sorted on B do Merge R and S to get join result End
Diferencia entre Hash Join y Sort Merge Join:
S. No. | Unión hash | Ordenar Combinar Unir |
---|---|---|
1. | Se utiliza específicamente en caso de unión de mesas más grandes. | Suele utilizarse para unir dos fuentes de datos independientes representadas en una tabla. |
2. | Tiene el mejor rendimiento en el caso de entradas grandes, ordenadas y no indexadas. | Es mejor que hash join en caso de rendimiento en tablas grandes. |
3. | Dos fases en esto son construir y sondear. | Consta de 2 fases que consisten en la operación de clasificación y la operación de fusión. |
4. | Los pasos involucrados son construir una tabla Hash en una mesa pequeña. Se utiliza para probar que el valor hash de la tabla Hash es aplicable para cada elemento en la segunda fila. | Se toma la primera fila de la primera tabla y la segunda fila de la tabla; si no es así, se verifica la fusión de las filas seleccionadas. Si se pueden fusionar, se devuelve la fila fusionada; de lo contrario, las siguientes filas se toman de las tablas y los pasos se repiten hasta que se agotan las filas. |
5. | No es tan rápido como sort merge join en el caso de tablas ordenadas. | Es la operación de unión más rápida en el caso de tablas ordenadas. Esto se debe a que utiliza la fase de combinación y la fase de clasificación, donde, si la clasificación ya se realizó previamente, la combinación es la operación más rápida. |
6. | Sus tipos son hash join clásico, hash join Grace, hash join híbrido, hash anti-join, hash semi-join, hash join recursivo y hash bailout. | No tiene más clasificaciones. |
7. | Esta combinación se selecciona automáticamente en caso de que no haya una razón específica para adoptar otros tipos de algoritmos de combinación. También se conoce como el tipo de acceso de todos los operadores de unión. | No se selecciona automáticamente. |
Publicación traducida automáticamente
Artículo escrito por supriya_saxena y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA