Sobre cantidad de indices

14/10/2004 - 02:49 por El principiante | Informe spam
Hola a todos.


Es conveniente tener en las tablas los indices necesarios a discrecion sin
que afecte el rendimiento ?

Normalmente los indices por los que se hacen busquedas para consultas.

Preguntas similare

Leer las respuestas

#1 Isaias
14/10/2004 - 03:19 | Informe spam
Hola

Hay una regla NO escrita que dice, que todas las columnas despues de la
instruccion WHERE, son "candidatas" a ser indices.

Saludos
Respuesta Responder a este mensaje
#2 Javier Loria
14/10/2004 - 03:32 | Informe spam
Hola:
A esta regla le agregaria, algunas condiciones "extra":
a) La Columna sea "Distintiva", una columna con valores, F o M, no se usara.
Una columna con muchos valores distintivos tinen mas probabilidad de usarse.
b) El orden del indice es importante, el del WHERE no. Es diferente el
indice (Identificacion, Tipo) a (Tipo-Identificacion).
c) Los indices solo se usan si hay "muchas" filas. Cuando hay pocas no se
usan, si el SELECT filtra poco las filas, no se usa el indice.
Solo una opinion,

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

"Isaias" wrote in message
news:
Hola

Hay una regla NO escrita que dice, que todas las columnas despues de la
instruccion WHERE, son "candidatas" a ser indices.

Saludos
Respuesta Responder a este mensaje
#3 MAXI
14/10/2004 - 03:40 | Informe spam
Hola, pues no!! los indices afectaran el rendimiento de las operaciones
INSERT DELETE UPDATE, pero mejoraran los rendimientos de los SELECT.

Lo ideal seria que armes una tabla CRUD, esto basicamente es armar una
tablita donde indicas por ej en una tabla de BDD (imaginate Customers) que
cantidad de operaciones hay (Create - Read - Update - Delete)

Hay sistemas que estan montados de 2 formas

1) los datos reales para sus ingresos y donde se ponen los indices mas
escenciales
2) Los datos para querys en otro servidor o BDD donde se la llena de indices
y se la deja en solo Lectura.

Con esto logras mantener un equilibrio pero vas a tener un mayor
mantenimiento porque vas a tener que aplicar algun tipo de replicacion o
cosa por el estilo para poder tener esta estructura!! Pero todo depende, hay
casos donde se justifica!!

Los indices afectan a las instrucciones que te mencione antes por algo muy
simple:

Imaginate que vos te pones a escribir un libro y armas un indice tematico.

Bien luego de terminar el libro agregas un nuevo tema, al hacer esto tambien
debes modificar el indice tematico verdad?

Ahora imaginate que ese libro en lugar de tener un indice tematico
solamente, tiene varios indices mas: por ej: Palabras - Sentencias -
Autores - etc

Ahora la tarea cada vez que quieras incorporar un nuevo tema va a ser
modificar todos esos indices no? lo mismo pasaria si borras un tema o si
agregas una hija mas al mismo.

Bueno, esto mismo le pasa a SQL :-)




Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)
Mail: Maxi_accotto[arroba]speedy.com.ar

Msn Messager:

"El principiante" escribió en el mensaje
news:
Hola a todos.


Es conveniente tener en las tablas los indices necesarios a discrecion sin
que afecte el rendimiento ?

Normalmente los indices por los que se hacen busquedas para consultas.


Respuesta Responder a este mensaje
#4 El principiante
14/10/2004 - 04:12 | Informe spam
Hola de nuevo Javier

Hola:
A esta regla le agregaria, algunas condiciones "extra":
a) La Columna sea "Distintiva", una columna con valores, F o M, no se


usara.

No importa la distribucion de los valores ?

Una columna con muchos valores distintivos tinen mas probabilidad de


usarse.
b) El orden del indice es importante, el del WHERE no. Es diferente el
indice (Identificacion, Tipo) a (Tipo-Identificacion).



Hay algunos operadores que limiten el uso de indices ?

c) Los indices solo se usan si hay "muchas" filas. Cuando hay pocas no se
usan, si el SELECT filtra poco las filas, no se usa el indice.



Muchas podria hablarse desde cuanto aprox., 50, 100 mil, un millon ?
Respuesta Responder a este mensaje
#5 Isaias
14/10/2004 - 04:29 | Informe spam
En cuanto al LIMITE MAXIMO de indices, no pueden ser mas de 16 por Tabla.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida