Indices en Campos numero

28/05/2004 - 19:44 por Fabricio Cadena | Informe spam
Que tal amigos.!!

Quisiera saber si es conveniente hacer indices en campos
donde se ejecutan funciones de Sum(cantidad) por Ej.

Saludos

Preguntas similare

Leer las respuestas

#1 Javier Loria
28/05/2004 - 23:28 | Informe spam
Hola:
En algunas ocasiones si, se les llama "covered index" o indices
cubiertos.
Si por ejemplo en una tabla de productos vendidos haces un select para
agrupar por producto, algo como:
= SELECT CodigoProducto, SUM(Cantidad)
FROM ProductosVendidos
WHERE CodigoProducto <<Condicion>>
GROUP BY CodigoProducto
= En este caso tener un indice CodigoProducto, Cantidad puede lograr que
el SQL NO tenga que revisar la tabla sino que directamete tome la cantidad y
el codigo de producto del indice aumentando substancialmente la velocidad.
Esta es una tecnica "avanzada" de indices y no abuses de ella porque los
inserts se hacen muy lentos, adicionalmente solo se usa bajo ciertas
condiciones muy puntuales.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

Fabricio Cadena escribio:
Que tal amigos.!!

Quisiera saber si es conveniente hacer indices en campos
donde se ejecutan funciones de Sum(cantidad) por Ej.

Saludos
Respuesta Responder a este mensaje
#2 Fabricio Cadena
29/05/2004 - 03:50 | Informe spam
Hola Javier..!!

Gracias de antemano por tu ayuda..

Pero en que situacion se pueden hacer los insert Lentos?

Es por que tengo un indice en un campo texto?
Ahora, en ocasiones se hacen busquedas en campo de texto
en el cual hay muchisima informacion y que necesariamente
hay que hacerla, tendo que utilizar el TEXTSTREAM o algo
asi? o de que forma de podria optimizar esto?
Saludos
Respuesta Responder a este mensaje
#3 Javier Loria
29/05/2004 - 22:04 | Informe spam
Hola Fabricio:
Los indices son "Tablas Alternas" esto es hay que grabar los datos no
solo en la tabla sino en la <<Tabla Indice>> para que haga referencia o
tenga un "puntero" a la Tabla verdadera.
En general cada vez que haces un indice haces mas lentos los inserts.
Los updates y los deletes con frecuencia tambien se hacen mas lentos, pero
hay algunas ocasiones que los indices les ayudan a buscar los datos en cuyo
caso puede verse el efecto contrario.
No tengo ningun problema con el tipo de datos que se use en el indice
solo con el largo del mismo, entre mas largo es el indice menos ultil es en
general.
Ejemplo, si tienes un indice que tuviera TODA las filas de la tabla,
para que sirve, si mejor lee la tabla. Si tiene casi toda la tabla, sera
mejor leer la tabla directamente y ordenarla en memoria RAM o leer el
indice, para luego leer la tabla, etc.
Si quieres contarnos un poco mas, y si puedes exponer las estructura de
la tabla y los indices hay muchos de los participantes de este foro que son
expertos en indices, y que con gusto te brindan una mano.
Saludos,

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

Fabricio Cadena escribio:
Hola Javier..!!

Gracias de antemano por tu ayuda..

Pero en que situacion se pueden hacer los insert Lentos?

Es por que tengo un indice en un campo texto?
Ahora, en ocasiones se hacen busquedas en campo de texto
en el cual hay muchisima informacion y que necesariamente
hay que hacerla, tendo que utilizar el TEXTSTREAM o algo
asi? o de que forma de podria optimizar esto?
Saludos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida