Tablas Hash (Temporales)

26/09/2003 - 06:36 por Mauricio Sthandier R. | Informe spam
Fui a una entrevista en inglés y el entrevistador me dijo que si ante una
consulta así :

SELECT * FROM tabla1 INNER JOIN tabla2... tabla6

y que tomaba 5 a 6 minutos yo usaría Hash Tables... luego cambió la pregunta
a Temporary Tables.

Estuve investigando y encontré Hash Indexes, en que para una clave compleja
puedo almacenar el checksum de lo que me interesaría ocupar en el join. Esta
técnica sería sensiblemente más rápida.

Pero pienso que así opera naturalmente SQL Server al crear los índices y
sabrá ocupar el que necesite sin forzarlo con una Hash join hint. Además
existe la posiblidad de que un checksum se repita para una clave distinta.

En fin.. alguien tiene idea de a qué se refería ?
Los índices se almacenan de una sola forma ?

Fear
is temporary.
Pride
is forever.

Preguntas similare

Leer las respuestas

#6 Mauricio Sthandier R.
27/09/2003 - 02:02 | Informe spam
gracias a ambos por su respuesta, es bueno saber esto.

Por lo menos le dije que las tablas temporales no serían mi primer
acercamiento...

Fear
is temporary.
Pride
is forever.

"Miguel Egea" escribió en el mensaje
news:
Por partes, no sé a que se refería tu entrevistador pero podría ser.

Hay ciertos joins en los que el optimizador puede decidir crear una tabla


de
claves hash para conseguir ejecutar la consulta, generalmente cuando las
tablas en las que se está trabajando no tienen un índice por el campo
deseado o son subquerys y esas cosas.
Otra cosa distinta es que uses para búsqueda de literales un checksum para
obtener un índice más chico. Es decir, Si tienes un campo descripción de


40
caracteres, y buscas una dirección concreta,(por ejemplo paises, o cosas
así), puedes pensar crear un campo que sea el checksum del nombre, y


cuando
ejecutes busquedas elegir aquellos que el checksum coincida, de acuerdo


que
pueden salir elementos 'no deseados', pero con 40 caractres caben unas 200
claves por página con un entero unas 2000, es decir tus búsquedas pueden
resultar hasta casi 10 veces más rápidas si el índice es usado.

=> Miguel Egea
http://www.portalsql.com
Microsoft SQL-SERVER MVP.
Brigada Anti-Cursores
Aviso de Seguridad



http://www.microsoft.com/spain/tech...9-USER.asp
==
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida