Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Como crear indices para optimización

Estas en el tema de Como crear indices para optimización en el foro de SQL Server en Foros del Web. Como crear indices a una bbdd SQL server 2000, desde SQL managment studio? Es la primera vez q lo haría. Muchas Gracias Koldo...
  #1 (permalink)  
Antiguo 16/04/2008, 06:53
Avatar de kvoloj  
Fecha de Ingreso: agosto-2003
Mensajes: 124
Antigüedad: 20 años, 9 meses
Puntos: 1
Como crear indices para optimización

Como crear indices a una bbdd SQL server 2000, desde SQL managment studio?

Es la primera vez q lo haría.

Muchas Gracias

Koldo
  #2 (permalink)  
Antiguo 16/04/2008, 13:12
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Re: Como crear indices para optimización

¿SQL Managemente Studio 2005?, tienes que ir hasta la ultima capa de COLUMNA y ahi encontraras INDICES (Indexes), click-boton-derecho-mouse, NUEVO INDICE (new index)
  #3 (permalink)  
Antiguo 16/04/2008, 16:07
Avatar de kvoloj  
Fecha de Ingreso: agosto-2003
Mensajes: 124
Antigüedad: 20 años, 9 meses
Puntos: 1
Re: Como crear indices para optimización

muchas gracias iislas por la rspuesta.

se supone que los datos mas consultados son los que se les pone indices, para optimizar la bbd, (datos despues del where en las sentencias ) pero tengo una duda, a que tipo de datos de la BBDD no se le debería poner un indice.

perdóna pero soy muy nuevo en esto de las BBDD SQL

gracias

Koldo
  #4 (permalink)  
Antiguo 16/04/2008, 20:20
 
Fecha de Ingreso: abril-2008
Mensajes: 25
Antigüedad: 16 años
Puntos: 0
Re: Como crear indices para optimización

Hola,

Pues como el xml, los nvarchar cuando tienen una longitud muy grande o no tienen una regla para el guardado, los bit, entre otros y mas bien son los campos de tu tabla que serian no muy criticos y que te puede permitir nulos.

Por ejemplo es mejor poner como un indice una llave que un campo descripcion aunque los dos sean varchar.

Saludos
  #5 (permalink)  
Antiguo 17/04/2008, 09:30
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Re: Como crear indices para optimización

Yo tengo una pregunta referente a este tema.
Digamos, tengo el sgte. query:
Código:
SELECT T2.campo3, T2.campo4
FROM TABLA1 T1
INNER JOIN TABLA2 T2 ON T1.campo1=T2.campo1 AND T1.campo2=T2.campo2
WHERE T1.campo5 LIKE 'VALOR%'
La pregunta es: que indices deberia tener si los campos 1,2,3 son PK?
Si busco por el campo5, este deberia tener un indice con solo este campo o deberia tener campo1+campo2+campo5?
Esa es mi duda.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #6 (permalink)  
Antiguo 17/04/2008, 11:07
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Re: Como crear indices para optimización

Si tus campos son PK, por ende, ya son indices, creo que deberias crear solo un indice por tu columna campo5.
  #7 (permalink)  
Antiguo 18/04/2008, 05:10
Avatar de kvoloj  
Fecha de Ingreso: agosto-2003
Mensajes: 124
Antigüedad: 20 años, 9 meses
Puntos: 1
Re: Como crear indices para optimización

Hola Iislas:

he tratado de crear el indice pero me sale un error "
No se permite usar explicitamente drop index con el indice TABLA.PKlibros, Se está usuando para aplicar la restricción PRIMARY KEY.

Lo que yo hice es abrir la tabla, aparecen unas carpetas
- columnas
-keys
-Constraints
- Triggers
- Indexes
- Statistics.

Seleccioné la carpeta indexes >> PK_libros >>ADD >> y añadí la cumna que quería ponerle un índice.

y me dió el error.

Dónde puedo conseguir un tutorial de managment studio express, es qu yo gestionaba las BBDD SQL a través de Acces, y era muy intuitivo y este programa no lo se usar.


Muchas Gracias

PD, como organizo (A-Z) las columnas si no me las deja seleccionar? en acces te paras sopbre la columna le das a-Z y ya te la organiza....

Koldo
  #8 (permalink)  
Antiguo 18/04/2008, 12:49
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Re: Como crear indices para optimización

PK_libros, es tu PRIMARY KEY, no puedes crearle un indice a tu LLAVE PRIMARIA, ya habia comentado, que ya son indices.

El tutoria en SQL SERVER, se llama AYUDA EN LINEA, lo puedes instalar en tu maquina:

http://www.microsoft.com/downloads/d...displaylang=es

O bien, consultarlo en linea:

http://technet.microsoft.com/es-es/l.../bb418490.aspx

¿Como organizar columnas?, ¿Desde donde?
  #9 (permalink)  
Antiguo 21/04/2008, 08:12
Avatar de kvoloj  
Fecha de Ingreso: agosto-2003
Mensajes: 124
Antigüedad: 20 años, 9 meses
Puntos: 1
Re: Como crear indices para optimización

Cita:
Iniciado por iislas Ver Mensaje
PK_libros, es tu PRIMARY KEY, no puedes crearle un indice a tu LLAVE PRIMARIA, ya habia comentado, que ya son indices.

El tutoria en SQL SERVER, se llama AYUDA EN LINEA, lo puedes instalar en tu maquina:

http://www.microsoft.com/downloads/d...displaylang=es

O bien, consultarlo en linea:

http://technet.microsoft.com/es-es/l.../bb418490.aspx

¿Como organizar columnas?, ¿Desde donde?
la pregunta es como organizar las columnas alfabeticamente, es decir, cuando yo abro acces, y selecciono la tabla libros, y quiero seleccionar todos los libros de misterio ( para copiarlos a otra tabla o a excell), selecciono la columna misterio >> le doy a la tecla AZ y me los organiza por orden alfabetico.

Cuando abro la tabla libros a través del sql magement, no me deja seleccionar la columna misterio, ni hay una tecla az para organizarla, eso por un lado..


Por el otro lado, si de la forma que te explique no se crean los indices, entonces no me queda claro como crear un indice.
  #10 (permalink)  
Antiguo 21/04/2008, 18:56
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Re: Como crear indices para optimización

SQL SERVER, no es igual a Access, este, es un manejador de archivos a nivel escritorio y claro, tiene muchas "facilidades", pero nada que ver con SQL SERVER.
  #11 (permalink)  
Antiguo 22/04/2008, 01:50
Avatar de kvoloj  
Fecha de Ingreso: agosto-2003
Mensajes: 124
Antigüedad: 20 años, 9 meses
Puntos: 1
Re: Como crear indices para optimización

Si ya me he dado cuenta, pero vulevo a la pregunta original, como se crean los indices que no son primarios, para optimizar la BBDD? porque según tu primera explicación, no me quedó claro y no he podido hacerlo.

Gracias

Koldo
  #12 (permalink)  
Antiguo 22/04/2008, 12:15
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Re: Como crear indices para optimización

Vuelvo a preguntar entonces, es VERSION 2000 o 2005, porque en tu posta original, hablas del 2000, pero mencionas la consola de 2005.

Ahora creo que en ambas, tienes que ir a DATABASES-TABLES-COLUMNAS-CREATE INDEX

Si lo quires hacer por el analizador de consultas debes crear el indice con:

USE AdventureWorks;
GO
IF EXISTS (SELECT name FROM sys.indexes
WHERE name = N'IX_ProductVendor_VendorID')
DROP INDEX IX_ProductVendor_VendorID ON Purchasing.ProductVendor;
GO
CREATE INDEX IX_ProductVendor_VendorID
ON Purchasing.ProductVendor (VendorID);
GO

Si no comprendes algun verbo de la instruccion anterior, debes consultar TU LIBRO EN LINEA (Ayuda en linea).

Saludos.
  #13 (permalink)  
Antiguo 23/04/2008, 01:27
Avatar de lcervantes  
Fecha de Ingreso: abril-2002
Mensajes: 137
Antigüedad: 22 años
Puntos: 0
De acuerdo Re: Como crear indices para optimización

No respondo a lo anterior, sino mas bien hago una pregunta.

Se que algunos gestores de BASE DE DATOS tienen un optimizador de consultas. Unos en un apartado apartado aparte y otros en linea, es decir a medida que se realizan consultas a la base de datos te dice en que tablas tendrías que crear indices, por la cantidad de consultas que realizas y el timpo que tarda en consultar.

Al menos conosco que en DB2 te da esa información. Sabeis si SQL server 2005 lo tiene?

Saludos,

Luis


PD: Feliz dia de SANT JORDI.
  #14 (permalink)  
Antiguo 23/04/2008, 09:36
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Re: Como crear indices para optimización

Si, SQL Server, cuenta con un analizador de indices y sugiere cuales deberian crearse en base a la estructura del query que se ejecute, esto en el ANALIZADOR DE CONSULTAS.

Ademas, maneja una serie de estatisticos de consutas, donde va almacenando las "mejores rutas" de las consultas.

Para tener esto actualizado, es necesario crear un PLAN DE MANTENIMIENTO que se ejecute cada fin de semana, donde entre otras cosas, se RECREAN INDICES.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 18:37.