Indices o Restricciones

01/11/2003 - 11:28 por juanvi | Informe spam
Hola amigos, mi duda es la siguiente:
Al crear un índice en SQL Server e indicar la opción
UNIQUE, se activan las opciones Restricción e Indice, y me
surgen los siguientes interrogantes:

1.- ¿Al elegir la opción 'Restricción' realmente se crea
el índice (para obtener un acceso más rápido), o solo una
constrain (para garantizar la unicidad)?

2.- ¿Si se desea obtener acceso rápido, además de
unicidad, es necesario elegir la opción 'Indice'?

3.- Al crear una clave principal se activan, sin
posiblidad de modificación, las opciones 'UNIQUE'
y 'Restricción', ¿significa que para la clave principal
solo se crea la restricción de unicidad y no un índice, de
manera que no se proporciona un acceso más eficiente a
través de la clave principal?

Muchas gracias

Preguntas similare

Leer las respuestas

#1 Accotto Maximiliano D.
01/11/2003 - 14:35 | Informe spam
mira el tema es asi:

Hay diferentes tipos de indices en una BDD por ej:

Unicos (estos ademas de ser indices no permitiran valores duplicados para
ese campo)
indices no unicos!! (solo sirven para optimizar)

Bien por tabla no vas a poder tener mas de un primary (unico) y todos los
indices q quieras.
El unico es el q hace la restriccion de no duplicados.

Ahora bien con esto hay q ser un poco cauteloso!! no puedes ponerle indice a
todos tus campos!!

Yo hago lo siguiente: Si usas mucho instrucciones q usan por ej un campo
fecha bue a este le genero un indice!! pero solo en estos casos.

Siempre en la generacion de indices te conviene ver el tiempo en el
analizador de consultas a ver su consulta cuanto se acelera.

Ademas los indices les puedes dar un factor de llenado (fill Factor) esto es
algo asi como q si le pones 50% el indice se llena solo hasta ahi y luego
genera una nueva pagina.

Si quieres mas info puedes revisar:

http://www.microsoft.com/latam/tech...efault.asp
http://www.microsoft.com/spanish/ms...dviews.asp

o tus BOl (libros online)

un abrazo
Accotto Maximiliano
Gerente de Sistemas
Fundicion San Cayetano S.A.
Buenos Aires


Argentina

"juanvi" escribió en el mensaje
news:075c01c3a062$eb72bbf0$
Hola amigos, mi duda es la siguiente:
Al crear un índice en SQL Server e indicar la opción
UNIQUE, se activan las opciones Restricción e Indice, y me
surgen los siguientes interrogantes:

1.- ¿Al elegir la opción 'Restricción' realmente se crea
el índice (para obtener un acceso más rápido), o solo una
constrain (para garantizar la unicidad)?

2.- ¿Si se desea obtener acceso rápido, además de
unicidad, es necesario elegir la opción 'Indice'?

3.- Al crear una clave principal se activan, sin
posiblidad de modificación, las opciones 'UNIQUE'
y 'Restricción', ¿significa que para la clave principal
solo se crea la restricción de unicidad y no un índice, de
manera que no se proporciona un acceso más eficiente a
través de la clave principal?

Muchas gracias
Respuesta Responder a este mensaje
#2 Javier Loria
01/11/2003 - 15:46 | Informe spam
Hola:
Una introduccion previa,
=Dos conceptos "independientes", los restricciones (Constraints) y los
Indices.
Las restricciones son el mecanismo que te permite exigir integridad de
la Base de Datos. Si no defines integridad con mucha facilidad se llena de
basura la BD. Las restricciones son limitaciones LOGICAS que impones a tus
datos y en SQL 2000 son:PRIMARY KEY (Llave Primaria), FOREIGN KEY (Llave
Secundaria), DEFAULT (Valor Predeterminado, CHECK, NOT NULL y UNIQUE.
Estas restricciones deberian disenarse bien temprano en la BD, y
normalmente se mantienen en el diseno.
Los indices son estructuras que permiten determinar la forma en que se
ordenaran fisicamente los datos. Los indices son FISICOS. Los indices son de
dos tipos: Agrupados (Clustered) y no Agrupados (non clustered). Los indices
normalmente se agregan al final del diseno y cambian con alguna frecuencia
para mejorar el desempeno. No deben tener ningun impacto en la aplicacion,
excepto claro esta en el desempeno.
En SQL 2000 la impementacion de PRIMARY KEY y UNIQUE implica la creacion
de un indice.
Repuestas
= 1. Si creas un PRIMARY KEY o un UNIQUE se crea un indice.
2. a) Si tienes un valor que debe ser unico usa un UNIQUE.
b) Si deseas obtener un acceso rapido (cuando usas un WHERE o un
JOIN) sobre una columna que no pertenece a una restriccion PRIMARY KEY o
UNIQUE debes usar INDICE.
3. Una Llave Primaria en SQL 2000 es simultaneamente una Restriccion y
un Indice, lo que normalmente da un acceso efeciciente sobre la clave
principal.

Espero te sirva,



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.


juanvi escribio:
Hola amigos, mi duda es la siguiente:
Al crear un índice en SQL Server e indicar la opción
UNIQUE, se activan las opciones Restricción e Indice, y me
surgen los siguientes interrogantes:

1.- ¿Al elegir la opción 'Restricción' realmente se crea
el índice (para obtener un acceso más rápido), o solo una
constrain (para garantizar la unicidad)?

2.- ¿Si se desea obtener acceso rápido, además de
unicidad, es necesario elegir la opción 'Indice'?

3.- Al crear una clave principal se activan, sin
posiblidad de modificación, las opciones 'UNIQUE'
y 'Restricción', ¿significa que para la clave principal
solo se crea la restricción de unicidad y no un índice, de
manera que no se proporciona un acceso más eficiente a
través de la clave principal?

Muchas gracias
Respuesta Responder a este mensaje
#3 juanvi
04/11/2003 - 19:13 | Informe spam
Muchas gracias
Respuesta Responder a este mensaje
#4 juanvi
04/11/2003 - 19:13 | Informe spam
Muchas gracias
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida