cantidad de registros en sql 2005

30/07/2008 - 20:14 por Luis Mata | Informe spam
cuando hago la consulta a una bd nueva con 1000 registros las consultas son
veloces, tengo otra bd con 650000 registros y las consultas son lentas,
alguna forma de pode optimizar esto?

Preguntas similare

Leer las respuestas

#6 Salvador Ramos
31/07/2008 - 11:34 | Informe spam
Descartado eso, sigue las indicaciones de Alejandro :-)

Un saludo
Salvador Ramos
Solid Quality Mentors (http://www.solidq.com)

www.helpdna.net (información sobre SQL Server y Microsoft .Net)
Visita mi nuevo blog: www.sqlserversi.com


"Luis Mata" escribió en el mensaje
news:%
En eso si he tenido cuidado de no traer informacion inecesaria, ya que
solo traigo lo que se requiere para trabajar, osea el dato exacto pero de
todas manera demora cuando hace el select, trabajo con vfp9 y sql 2005.


"Salvador Ramos" escribió en el
mensaje de noticias news:e%
Hola,

Además de lo que indica Alejandro, deberías explicarnos qué tipo de
consultas estás realizando. Hay una regla genérica que siempre ayuda a
que las aplicaciones sean escalables, y consiste en devolver sólo los
datos que se van a mostrar cuando accedemos al servidor.
Por ejemplo, si tenemos 650.000 ventas y queremos consultar una, debemos
acceder a ella, y luego cuando nos deslacemos a otra venta, accederemos
para traer la información de ella. No tiene sentido pedir al servidor
todas las ventas y luego mostrar una sola, y hace que conforme aumentan
las filas la aplicación vaya siendo cada vez más lenta.

Un saludo
Salvador Ramos
Solid Quality Mentors (http://www.solidq.com)

www.helpdna.net (información sobre SQL Server y Microsoft .Net)
Visita mi nuevo blog: www.sqlserversi.com


"Luis Mata" escribió en el mensaje
news:
cuando hago la consulta a una bd nueva con 1000 registros las consultas
son veloces, tengo otra bd con 650000 registros y las consultas son
lentas, alguna forma de pode optimizar esto?







Respuesta Responder a este mensaje
#7 Maxi Accotto
01/08/2008 - 03:17 | Informe spam
Luis, yo soy de la idea que para ver este tipo de problemas es necesario ver
el plan de ejecucion, lo has visto? que has encontrado? cual es la operacion
q mas tarda?

Otro detalle, yo no usaria el * eso es traer todos los campos y es mucho mas
lento que traer los campos que necesitas, realmente necesitas todos los
campos o bien usas el * ´por comodidad?


Saludos
Maxi Accotto
Microsoft MVP en SQLServer
SQltotalconsulting
-

"Luis Mata" escribió en el mensaje de
noticias:
ejm de un select que uso:

select * from transacciones where cboleta = 60525154

el indice esta creado en cboleta como no unico... funciona igual que un
unico?



"Alejandro Mesa" escribió en el
mensaje de noticias
news:
Luis Mata,

Depende de la estructura de tus tablas, incluyendo restricciones e
indices,
asi como las sentencias "select" que estes usando. Puede ser que se
necesite
re-escribir la consulta, adicionar indices, o ambas cosas.

Puedes hacer uso de la herramienta "Database Engine Tuning Advisor", que
es
parte de SQL Server y/o las sgtes DMVs que brindan informacion sobre
indices
no existentes que pudieran ser de beneficio.

- sys.dm_db_missing_index_group_stats
- sys.dm_db_missing_index_groups
- sys.dm_db_missing_index_details

Are you using SQL's Missing Index DMVs?
http://blogs.msdn.com/bartd/archive...-dmvs.aspx

Database Engine Tuning Advisor Tutorial
http://msdn.microsoft.com/en-us/lib...66575.aspx


AMB


"Luis Mata" wrote:

cuando hago la consulta a una bd nueva con 1000 registros las consultas
son
veloces, tengo otra bd con 650000 registros y las consultas son lentas,
alguna forma de pode optimizar esto?







Respuesta Responder a este mensaje
#8 Luis Mata
05/08/2008 - 21:04 | Informe spam
no uso el *
pero si consolido tablas de diferentes BDS mediante un procedimiento
almacenado.

Luis

"Maxi Accotto" escribió en el mensaje de
noticias news:
Luis, yo soy de la idea que para ver este tipo de problemas es necesario
ver el plan de ejecucion, lo has visto? que has encontrado? cual es la
operacion q mas tarda?

Otro detalle, yo no usaria el * eso es traer todos los campos y es mucho
mas lento que traer los campos que necesitas, realmente necesitas todos
los campos o bien usas el * ´por comodidad?


Saludos
Maxi Accotto
Microsoft MVP en SQLServer
SQltotalconsulting
-

"Luis Mata" escribió en el mensaje de
noticias:
ejm de un select que uso:

select * from transacciones where cboleta = 60525154

el indice esta creado en cboleta como no unico... funciona igual que un
unico?



"Alejandro Mesa" escribió en el
mensaje de noticias
news:
Luis Mata,

Depende de la estructura de tus tablas, incluyendo restricciones e
indices,
asi como las sentencias "select" que estes usando. Puede ser que se
necesite
re-escribir la consulta, adicionar indices, o ambas cosas.

Puedes hacer uso de la herramienta "Database Engine Tuning Advisor", que
es
parte de SQL Server y/o las sgtes DMVs que brindan informacion sobre
indices
no existentes que pudieran ser de beneficio.

- sys.dm_db_missing_index_group_stats
- sys.dm_db_missing_index_groups
- sys.dm_db_missing_index_details

Are you using SQL's Missing Index DMVs?
http://blogs.msdn.com/bartd/archive...-dmvs.aspx

Database Engine Tuning Advisor Tutorial
http://msdn.microsoft.com/en-us/lib...66575.aspx


AMB


"Luis Mata" wrote:

cuando hago la consulta a una bd nueva con 1000 registros las consultas
son
veloces, tengo otra bd con 650000 registros y las consultas son
lentas,
alguna forma de pode optimizar esto?







email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida