Base de datos sql

Hola! Necesito ayuda! Tengo una base de datos en sql con 2.340.000 filas y 3 columnas, la estoy desarrollando en sql server management 2005, y estoy desarrollando una aplicación en csharp, el problema es que a la hora de que mi aplicación hace una búsqueda en la base de datos se vuelve extremadamente lenta... Mi equipo tiene 2 de RAM y 160 de disco duro.
Quisiera saber si hay métodos para optimizar la búsqueda, o si hay alguna manera de que pueda ser más rápida..
Gracias de antemano!

4 Respuestas

Respuesta
1
Verifica si el campo en el cual buscas tiene un indice
si no lo tiene agrégaselo
si puedes ordena los registros físicamente por ese campo
también se pueden separar los registros por grupos u ordenarlos primero por un campo más sencillo de grupo
el tamaño del campo también influye, un campo de 7 letras es más rapido que uno de 255
y uno long o integer más aun, podrías si tu campo es de 256 letras crear un campo con una parcialidad del campo ejem 15 letras, pero que te permita encontrar lo que buscas
y por supuesto lo ideal es que tengan una clave única y poner primary key (si se puede)
Avisame como vas [email protected]
Muchas gracias! Soy principiante y me gustaría que me xplicaras paso a paso como puedo separar los registros por grupos... y como se haría la consulta...
Gracias :)
Respuesta
1
Te recomiendo que leas sobre claves primarias, indices de búsqueda y mejoras (tunning) en tus query. Otra cosa que debes tener en cuenta que una tabla de 2.3 M filas con una tabla de 3 columnas no es lo más indicado.
Lo que debes hacer es colocarle unos indices de búsqueda a las colunasa que utilizas para realizar la búsqueda. Si me envías más info te ayudaría mejor
Muchas gracias! Pero soy principiante y me gustaría que me explicaras mejor que es tunning, y si tiene algunos consejos para mejorar el rendimiento de la consulta.
También me gustaría hacer una tarea que todos los días que tome la fecha actual y le reste 500 días y me elimine las filas que tienen la fecha de hace 500 días.
Por ejemplo el sistema me toma la fecha de hoy (15/11/2009) le reste 500 días es decir que la fecha de hace 500 días--->(15/09/2007) y me elimine todas las filas que tengan esa fecha.
Muchas gracias :)
Respuesta
1
Algo tipo
"SELECT * FROM tabla WHERE playo = '10';"
Respuesta
1
Lo que tienes que hacer es una consulta (query) del estilo :
Select fecha, rendimiento
from nombre_tabla
where plazo = 10
Dependiendo de la plataforma en la que estés trabajando podrás sacar un report o listado a partir de esta consulta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas