Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 13-08-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Vamos a ver; Has dicho muchas cosas, de forma poco desordenada (perdona que te lo diga) y veo que vas dando palos de ciego y se si sabes realmente lo que estás haciendo (esa es la sensación que tengo).
Te propongo algunas cuestiones; Tal vez algunas ya las tienes claras, de todas formas te lo comento.

No soin todas excluyentes, tal vez puedas combinar unas con otras.

(1) SQL Server: Ya que utilizas SQL Server aprovecha las características que este te brinda. Revisa los planes de ejecución de las consultas. Revisa si puedes añadir índices por algun campo.
Por último puedes hacer alguna prueba con Stored Procedures, sobre todo para el tema de cálculo de totales.

(2) QuantumGrid de DevExpress: Todos sabemos que las QuantumGrid son excelentes, pero no hacen milagros. Los Grids de la Quantum permiten Agrupaciones, calcular totales, filtrar columnas por los títulos, ordenar,....(**) y mucho más, pero eso tiene un precio grande; Deben cargar todos los datos en memoria. En la configuración del Grid, puedes cambiar este comportamiento (en la parte donde se configura el DataSource), pero al cambiar el modo de carga para que no cargue TODOS los registros en memoria (como lo hace un DbGrid estandard con cursor clServerSide) pierdes todas esas mejoras.
==> por lo tanto debes tener claro cuando puedes usar los Grids de las Quantum. Si necesitas todos esos añadidos (**) debes trabajar con tablas pequeñas, porque a medida que las tablas van creciendo el tema se va a hacer muy lennnnnto.

(3) Cargar Datos o Totales: Debes tener claro qué necesitas. Pero hay una cosa clara, si lo quieres TODO, no va a ser rápido. Por un lado tenes los datos y por otro los totales o cálculos. Hay dos opciones:

(a) Cargar todos los datos y calcular totales en memoria (para eso ya tienes la Quantum).
(b) No cargar todos los datos, pero entonces los totales deberás calcularlos tú utilizando SQL (SELECT, COUNT, MAX, SUM, GROUP BY,...) o Stored Procedures.

(4) Optimizaciones: Una vez tengas claro lo que vas a necesitar puedes intentar realizar optimizaciones, aunque estas dependerán de la solución escogida. Si finalmente optas por cargar todos los datos(yo no lo haría), puedes revisar las tablas temporales de SQL Server que funcionan bastante bien (mejor en las últimas versiones); También puedes usar Stored Procedures o incluso funciones para obtener los datos que necesitas, si es que necesitas consultas muy complejas y minimizar así el tráfico de datos por la red.
Acostumbrate a utilizar Filtros (y a obligar a los usuarios a que los utilicen) antes de enviar las consultas, y no que filtren cuando los datos ya han llegado al cliente a través de la red.

Hay muchas cosas ha realizar, aunque debes tener sentido común y minimizar los datos con los que trabajas. Utilizar o traer sólo los que necesitas.

NOTA: Piensa que tal como lo dejes ahora (en cuanto a lentitud), dentro de 5 meses va a ir muuuuucho peor.

Un saludo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Conexion Lenta Interbase 6.0 Carlos de Pablo Firebird e Interbase 4 05-01-2009 23:19:40
Conexion a servidor muy lenta DISAC_FIGO Conexión con bases de datos 0 16-01-2007 21:50:30
Conexion lenta auribe Conexión con bases de datos 0 19-04-2005 18:04:37
Conexion mas lenta hecjona Varios 0 22-12-2003 21:04:21
Conexion Lenta en red muli Firebird e Interbase 6 25-10-2003 00:17:11


La franja horaria es GMT +2. Ahora son las 07:54:48.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi