Optimización de Sql-server 2000

14/09/2006 - 21:16 por Diego M R®mero | Informe spam
Hola

Necesito una ayuda para mejorar el rendimiento en consultas y manejo de
memoria en Sql-server 2000.

Tengo una base de datos de una aplicación empresarial, con mas o menos 200
tablas.
En algunas tablas hay indices en otras no, no hay relaciones entre tablas.
En unas 10 tablas hay por lo menos 1.000.000 de registros, sobre los que hay
que hacer consultas para buscar
información de un mes o dos meses, segun el rango fecha que el usuario
establezca.

Todo venia funcionando bien, pero despues de 3 años se volvio lenta la
aplicación, siempre aparece error de tiempo de espera agotado y consume casi
1 Gb de memora cuando se abren las bases de datos.

¿Que puedo hacer ? . Aun soy novato en SQL-Server.

1. He leido que para mejorar el rendimiento de consultas, se deben crear
indices en los campos que mas se utilicen para
criterios; que se deben crear Proc. Almacendos. Pero tambien algunos
dicen que demasiados índices incrementan el
tiempo de actualización de registros.
¿ Que tanto se mejora creando estos índices ?

¿ Hay algun patron mas o menos establecido para el diseño de este tipo de
aplicaciones ?

2. La aplicación de usuario está creada en VB6 a traves de ADO 2.8. ¿Como
hago para saber el ancho de banda que consume la aplicación ?.


Agradezco sus sugerencias



Diego

Preguntas similare

Leer las respuestas

#1 Maxi
14/09/2006 - 22:35 | Informe spam
Hola, no creo que se pueda en un solo correo responder a tu problema.
El tema de tunnig es complejo y muy grande.
Los indices si estan bien hechos sin ninguna duda que ayudan y mucho
Podes usar desde el Query Analizer el optimizador de indices, tambien podes
ir a ver algunos recursos como:

http://www.sql-server-performance.com/

Pero por mi experiencia una persona novata es muy dificil que pueda resolver
estos temas de tunnig, te podes leer todo lo que te pase y quizas hasta ni
te alcance, pero es una punta. Lo que yo te recomendaria en este caso en
particular es que contrates a alguien con buenos conocimientos en esta
materia (tunnig) porque ademas hay que studiar como esta hecha la
aplicacion, como estan las transacciones, hay cursores? hay tablas
temporales? huuuu es mucho, de hecho hay libros enteros que hablan de todo
esto :-S



Salu2

Microsoft MVP SQL Server
Culminis Speaker
INETA Speaker

"Diego M R®mero" escribió en el mensaje
news:u%
Hola

Necesito una ayuda para mejorar el rendimiento en consultas y manejo de
memoria en Sql-server 2000.

Tengo una base de datos de una aplicación empresarial, con mas o menos
200
tablas.
En algunas tablas hay indices en otras no, no hay relaciones entre
tablas.
En unas 10 tablas hay por lo menos 1.000.000 de registros, sobre los que
hay
que hacer consultas para buscar
información de un mes o dos meses, segun el rango fecha que el usuario
establezca.

Todo venia funcionando bien, pero despues de 3 años se volvio lenta la
aplicación, siempre aparece error de tiempo de espera agotado y consume
casi
1 Gb de memora cuando se abren las bases de datos.

¿Que puedo hacer ? . Aun soy novato en SQL-Server.

1. He leido que para mejorar el rendimiento de consultas, se deben crear
indices en los campos que mas se utilicen para
criterios; que se deben crear Proc. Almacendos. Pero tambien algunos
dicen que demasiados índices incrementan el
tiempo de actualización de registros.
¿ Que tanto se mejora creando estos índices ?

¿ Hay algun patron mas o menos establecido para el diseño de este tipo de
aplicaciones ?

2. La aplicación de usuario está creada en VB6 a traves de ADO 2.8. ¿Como
hago para saber el ancho de banda que consume la aplicación ?.


Agradezco sus sugerencias



Diego


Respuesta Responder a este mensaje
#2 Diego M R®mero
14/09/2006 - 23:47 | Informe spam
Bueno Maxi,
Gracias


"Maxi" escribió en el mensaje
news:#
Hola, no creo que se pueda en un solo correo responder a tu problema.
El tema de tunnig es complejo y muy grande.
Los indices si estan bien hechos sin ninguna duda que ayudan y mucho
Podes usar desde el Query Analizer el optimizador de indices, tambien


podes
ir a ver algunos recursos como:

http://www.sql-server-performance.com/

Pero por mi experiencia una persona novata es muy dificil que pueda


resolver
estos temas de tunnig, te podes leer todo lo que te pase y quizas hasta ni
te alcance, pero es una punta. Lo que yo te recomendaria en este caso en
particular es que contrates a alguien con buenos conocimientos en esta
materia (tunnig) porque ademas hay que studiar como esta hecha la
aplicacion, como estan las transacciones, hay cursores? hay tablas
temporales? huuuu es mucho, de hecho hay libros enteros que hablan de todo
esto :-S



Salu2

Microsoft MVP SQL Server
Culminis Speaker
INETA Speaker

"Diego M R®mero" escribió en el mensaje
news:u%
> Hola
>
> Necesito una ayuda para mejorar el rendimiento en consultas y manejo de
> memoria en Sql-server 2000.
>
> Tengo una base de datos de una aplicación empresarial, con mas o menos
> 200
> tablas.
> En algunas tablas hay indices en otras no, no hay relaciones entre
> tablas.
> En unas 10 tablas hay por lo menos 1.000.000 de registros, sobre los que
> hay
> que hacer consultas para buscar
> información de un mes o dos meses, segun el rango fecha que el usuario
> establezca.
>
> Todo venia funcionando bien, pero despues de 3 años se volvio lenta la
> aplicación, siempre aparece error de tiempo de espera agotado y consume
> casi
> 1 Gb de memora cuando se abren las bases de datos.
>
> ¿Que puedo hacer ? . Aun soy novato en SQL-Server.
>
> 1. He leido que para mejorar el rendimiento de consultas, se deben crear
> indices en los campos que mas se utilicen para
> criterios; que se deben crear Proc. Almacendos. Pero tambien algunos
> dicen que demasiados índices incrementan el
> tiempo de actualización de registros.
> ¿ Que tanto se mejora creando estos índices ?
>
> ¿ Hay algun patron mas o menos establecido para el diseño de este tipo


de
> aplicaciones ?
>
> 2. La aplicación de usuario está creada en VB6 a traves de ADO 2.8.


¿Como
> hago para saber el ancho de banda que consume la aplicación ?.
>
>
> Agradezco sus sugerencias
>
>
>
> Diego
>
>


Respuesta Responder a este mensaje
#3 Gustavo Larriera \(MVP\)
15/09/2006 - 00:06 | Informe spam
Te sugiero que utilices el Index Tuning Wizard para que te asista en el
diseño de tus índices. Mira los detalles en los Books Online.

Gustavo Larriera, MVP
Mentor, Solid Quality Learning
MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
Blog: http://solidqualitylearning.com/blogs/glarriera/


"Diego M R®mero" wrote in message
news:u%
Hola

Necesito una ayuda para mejorar el rendimiento en consultas y manejo de
memoria en Sql-server 2000.

Tengo una base de datos de una aplicación empresarial, con mas o menos
200
tablas.
En algunas tablas hay indices en otras no, no hay relaciones entre
tablas.
En unas 10 tablas hay por lo menos 1.000.000 de registros, sobre los que
hay
que hacer consultas para buscar
información de un mes o dos meses, segun el rango fecha que el usuario
establezca.

Todo venia funcionando bien, pero despues de 3 años se volvio lenta la
aplicación, siempre aparece error de tiempo de espera agotado y consume
casi
1 Gb de memora cuando se abren las bases de datos.

¿Que puedo hacer ? . Aun soy novato en SQL-Server.

1. He leido que para mejorar el rendimiento de consultas, se deben crear
indices en los campos que mas se utilicen para
criterios; que se deben crear Proc. Almacendos. Pero tambien algunos
dicen que demasiados índices incrementan el
tiempo de actualización de registros.
¿ Que tanto se mejora creando estos índices ?

¿ Hay algun patron mas o menos establecido para el diseño de este tipo de
aplicaciones ?

2. La aplicación de usuario está creada en VB6 a traves de ADO 2.8. ¿Como
hago para saber el ancho de banda que consume la aplicación ?.


Agradezco sus sugerencias



Diego


Respuesta Responder a este mensaje
#4 Isaias
15/09/2006 - 00:08 | Informe spam
Diego

Si de casualidad estuvieras en la Ciudad de México, te ofrezco mi apoyo para
la parte de tunning.

Saludos
IIslas


"Diego M R®mero" wrote:

Bueno Maxi,
Gracias


"Maxi" escribió en el mensaje
news:#
> Hola, no creo que se pueda en un solo correo responder a tu problema.
> El tema de tunnig es complejo y muy grande.
> Los indices si estan bien hechos sin ninguna duda que ayudan y mucho
> Podes usar desde el Query Analizer el optimizador de indices, tambien
podes
> ir a ver algunos recursos como:
>
> http://www.sql-server-performance.com/
>
> Pero por mi experiencia una persona novata es muy dificil que pueda
resolver
> estos temas de tunnig, te podes leer todo lo que te pase y quizas hasta ni
> te alcance, pero es una punta. Lo que yo te recomendaria en este caso en
> particular es que contrates a alguien con buenos conocimientos en esta
> materia (tunnig) porque ademas hay que studiar como esta hecha la
> aplicacion, como estan las transacciones, hay cursores? hay tablas
> temporales? huuuu es mucho, de hecho hay libros enteros que hablan de todo
> esto :-S
>
>
>
> Salu2
>
> Microsoft MVP SQL Server
> Culminis Speaker
> INETA Speaker
>
> "Diego M R®mero" escribió en el mensaje
> news:u%
> > Hola
> >
> > Necesito una ayuda para mejorar el rendimiento en consultas y manejo de
> > memoria en Sql-server 2000.
> >
> > Tengo una base de datos de una aplicación empresarial, con mas o menos
> > 200
> > tablas.
> > En algunas tablas hay indices en otras no, no hay relaciones entre
> > tablas.
> > En unas 10 tablas hay por lo menos 1.000.000 de registros, sobre los que
> > hay
> > que hacer consultas para buscar
> > información de un mes o dos meses, segun el rango fecha que el usuario
> > establezca.
> >
> > Todo venia funcionando bien, pero despues de 3 años se volvio lenta la
> > aplicación, siempre aparece error de tiempo de espera agotado y consume
> > casi
> > 1 Gb de memora cuando se abren las bases de datos.
> >
> > ¿Que puedo hacer ? . Aun soy novato en SQL-Server.
> >
> > 1. He leido que para mejorar el rendimiento de consultas, se deben crear
> > indices en los campos que mas se utilicen para
> > criterios; que se deben crear Proc. Almacendos. Pero tambien algunos
> > dicen que demasiados índices incrementan el
> > tiempo de actualización de registros.
> > ¿ Que tanto se mejora creando estos índices ?
> >
> > ¿ Hay algun patron mas o menos establecido para el diseño de este tipo
de
> > aplicaciones ?
> >
> > 2. La aplicación de usuario está creada en VB6 a traves de ADO 2.8.
¿Como
> > hago para saber el ancho de banda que consume la aplicación ?.
> >
> >
> > Agradezco sus sugerencias
> >
> >
> >
> > Diego
> >
> >
>
>



Respuesta Responder a este mensaje
#5 Salvador Ramos
15/09/2006 - 09:18 | Informe spam
Hola,

Comparto lo que dice Maxi, pero bueno, también puedes empezar a mejorar el
rendimiento apoyándote en las herramientas que te proporciona SQL Server.
Aunque, no vas a optimizar la base de datos igual que si una persona con
buenos conocimientos lo hiciese.

Puede utilizar la herramienta que te indica Gustavo junto con Profiler.

Para introducirte en este tema, te recomiendo una serie de 5 artículos
excelentes que ha publicado el amigo Eladio Ríncón (MVP SQL Server y
especialista en tunning) en la revista dotNetMania (www.dotnetmania.com). Os
recomiendo a todos la lectura de estos artículos.

Un saludo
Salvador Ramos
Murcia - España

[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL Server y .NET)


"Diego M R®mero" escribió en el mensaje
news:u%
Hola

Necesito una ayuda para mejorar el rendimiento en consultas y manejo de
memoria en Sql-server 2000.

Tengo una base de datos de una aplicación empresarial, con mas o menos
200
tablas.
En algunas tablas hay indices en otras no, no hay relaciones entre
tablas.
En unas 10 tablas hay por lo menos 1.000.000 de registros, sobre los que
hay
que hacer consultas para buscar
información de un mes o dos meses, segun el rango fecha que el usuario
establezca.

Todo venia funcionando bien, pero despues de 3 años se volvio lenta la
aplicación, siempre aparece error de tiempo de espera agotado y consume
casi
1 Gb de memora cuando se abren las bases de datos.

¿Que puedo hacer ? . Aun soy novato en SQL-Server.

1. He leido que para mejorar el rendimiento de consultas, se deben crear
indices en los campos que mas se utilicen para
criterios; que se deben crear Proc. Almacendos. Pero tambien algunos
dicen que demasiados índices incrementan el
tiempo de actualización de registros.
¿ Que tanto se mejora creando estos índices ?

¿ Hay algun patron mas o menos establecido para el diseño de este tipo de
aplicaciones ?

2. La aplicación de usuario está creada en VB6 a traves de ADO 2.8. ¿Como
hago para saber el ancho de banda que consume la aplicación ?.


Agradezco sus sugerencias



Diego


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida