Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Performance ADO

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Performance ADO Responder citando

Hola amigos,

cómo puedo mejorar el desempeño en mi aplicación que utiliza ADO para conectarse con una base de datos SQL Server 2000, es evidente que algunas consultas a tablas con muchos registros tardan demasiado, que debo configurar en mi TADOConnection o en mis TADOTable, TADOQuery, para mejorar el desempeño.

saludos,
_________________
Julian Uribe Hernandez
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mensaje    Asunto: Responder citando

Influyen muchos factores...

El diseño de tu base de datos
El diseño de tus consultas
La configuración de tu red, etc.

Pero como sugerencia utiliza TADOQuery ya que con TADOTable regresas TODOS los registros de cierta tabla, mientras que con TADOQuery lo limitas a las condiciones de tus consultas.

Saludos
_________________
Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Como dice Buildero influyen varios factores como el diseño de la DB, el diseño de las consultas, etc, etc
Yo trabajo tambien en estos momentos en SQL Server 2000 con ADO, y una forma que a mi parecer, igual y estoy en un error, de acelerar las consultas, las insercciones, las actualizaciones han sido los procedimientos almacenados, la creación de vistas, triguers, etc etc
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mensaje    Asunto: Responder citando

Amigo Buildero, cuando diseño la base de datos en el SQL Server, es necesario definir las relaciones entre las tablas explicitamente?

o simplemente definirle las claves primarias y ya?, pregunto porque cuando cree mi base de datos no definí las relaciones entre las tablas, simplemente definí las claves primarias de las tablas que tiene clave


gracias,
_________________
Julian Uribe Hernandez
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mensaje    Asunto: Responder citando

Que tal Julian,

Pues mira, el decir es "necesario" es algo muy aventurado de mi parte. Cada persona puede tener una perspectiva diferente de las cosas.

Lo que si te puedo decir es que "existen buenas prácticas y técnicas" de diseño de base de datos y claro lo que te recomiendan los libros. Pero al final de cuentas, serás tú el que decida cómo diseñar tus Bases de Datos.

El ejemplo más claro es tu situación, has decidido no crear las relaciones de manera explicita, lo cual en algunos escenarios te hará escribir más código. Eso sólo es algo que deberias tomar en cuenta.

Supongamos el siguiente caso. Imagina que tienes una tabla de CLIENTES y una tabla de PEDIDOS, existe una relación de uno a muchos entre clientes y pedidos (un cliente puede tener muchos pedidos). Y he aqui una de las preguntas :

¿que debó hacer si un usuario intenta eliminar un CLIENTE que tiene pedidos?... las posibles respuestas son: que el usuario pueda eliminar la información de un cliente eliminando también sus respectivos pedidos o denegar dicha acción.

Al momento de crear la relación de manera explicita en la base de datos, puedes hacer que el gestor se encargue de esto. Es decir, al configurar la relación pudes indicar que se impida eliminar un CLIENTE si es que tiene PEDIDOS o caso contrario que al eliminar un CLIENTE se eliminen en cascada todos sus PEDIDOS (sin haber escrito código).

Como en tu caso no has especificado la relación de manera explicita, pues tienes que agregar el código necesario para que al eliminar un CLIENTE se eliminen también sus PEDIDOS, claro, si es que la regla es permiitir eliminar un CLIENTE no importando si tiene PEDIDOS.

Esto sólo es algo que se debería de tomar en cuenta para el diseño de base de datos, existen muchas cosas más, como por ejemplo, la integridad referencial, validaciones de entrada de datos desde el gestor, disparadores, procedimientos almacenados, etc.

El aprender a diseñar se dá con la práctica, con las propias experiencias que cada quien va teniendo, pero si te apegas a las mejores téncicas te podrás evitar muchos dolores de cabeza.

Saludos!!!
_________________
Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.