Nodo HSJOIN (Unión hash)

Este nodo representa las uniones hash para las cuales se realizan uniones de las filas cualificadas de las tablas.

Nombre de nodo: HSJOIN

Representa: una unión hash para la cual se realizan uniones hash de las filas cualificadas de las tablas con el fin de permitir la unión directa, sin tener que ordenar previamente el contenido de las tablas.

Es necesaria una unión cada vez que se hace referencia a más de una tabla en una cláusula FROM. Es posible una unión hash cada vez que un predicado de unión equipara las columnas de dos tablas diferentes. Los predicados de unión deben tener el mismo tipo de datos exactamente. Las uniones hash también pueden proceder de una subconsulta reescrita, como en el caso de uniones de bucle.

Una unión hash no necesita que las tablas de unión estén ordenadas. La unión se realiza explorando la tabla interna de la unión hash y generando una búsqueda mediante la unión hash de los valores de los valores de la columna de unión. A continuación, lee la tabla externa, realizando la unión hash de los valores de la columna de unión y comprobando en la tabla de búsqueda generada la tabla interna.

Sugerencias relativas al rendimiento:
  • Utilice predicados locales (es decir, predicados que hagan referencia a una tabla) con el fin de reducir el número de filas que se va a unir.
  • Aumente el tamaño del almacenamiento dinámico de ordenación con el fin de que sea suficientemente grande para contener la tabla de búsqueda hash en la memoria.
  • Si las estadísticas no están al día, actualícelas mediante el mandato RUNSTATS.

Comentarios