Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-10-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Al González Ver Mensaje
Ajá, pero ¿cuánto tiempo tarda en ejecutarse ese Last con TTable (apenas hecha la apertura)?
En realidad sí es "instantáneo". El punto aquí, es que el compañero está haciendo pruebas en local y no es de asombrar que el BDE "gane" aquí.

Aunque de todas formas extraña tanto tiempo para dbx siendo una base local.

// Saludos
Responder Con Cita
  #2  
Antiguo 24-10-2012
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Esperemos a ver qué nos dice sobre la prueba de recorrido con "While Not EOF".

Y es que estrictamente hablando, DBX (dbExpress) son los componentes TSQLXXX (conexión y consulta). TClientDataSet no es parte de DBX (hay que erradicar ese mito). TClientDataSet, de la pestaña "Data Access", es un conjunto de datos genérico muy bueno para diversos escenarios, entre ellos conectarse a DBX, o a cualquier otro grupo de componentes de datos, usando un objeto TDataSetProvider (también de la pestaña "Data Access").

El cursor unidireccional de TSQLQuery (y sus similares de la familia DBX) debe ser mucho más rápido que un cursor bidireccional como TTable. Pero el trabajo del TDataSetProvider más el enriquecido cursor de TClientDataSet sí que van a añadirle algo de CPU a la carga de esa tabla.

Sin embargo, cuando me he conectado a MS SQL Server (2008, creo) con el controlador DBX para ese motor que viene en Delphi 7, he visto que el trabajo no resulta del todo óptimo, por lo cual termino usando ADO. No sé si esto se deba al hecho de estar usando un controlador muy antiguo, creado para versiones más viejas de MS SQL Server (y habría que ver que tan al día va ese controlador en las nuevas versiones de Delphi).

En resumen, DBX + TClientDataSet es una combinación muy buena con varios motores de base de datos (lo he comprobado con Firebird y no regresaría a usar IBX o similares), pero recordemos que MS SQL Server no es precisamente una base de datos que se lleve muy bien (hoy en día) con las bibliotecas de conexión pertenecientes a otras empresas.

Las preguntas que le hago a Gherardo van encaminadas a descubrir qué tanto se debe esa tardanza al controlador, qué tanto a DBX y qué tanto a TClientDataSet.

Saludos.

Última edición por Al González fecha: 24-10-2012 a las 17:29:45. Razón: Añadir "o a cualquier otro grupo de componentes de datos"
Responder Con Cita
  #3  
Antiguo 24-10-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Al González Ver Mensaje
Esperemos a ver qué nos dice sobre la prueba de recorrido con "While Not EOF".
En la prueba que he hecho, usando una tabla Paradox de aproximadamente 100,000 registros, ambos casos, Last y ciclo son instantáneos.

Como dije antes, creo que se está desestimando aquí el hecho de tratarse de un acceso local en el cual el BDE lleva las de ganar puesto que el acceso se hace directamente sobre el archivo físico de la tabla.

// Saludos
Responder Con Cita
  #4  
Antiguo 24-10-2012
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Gracias por confirmarlo, Román.

Cita:
Empezado por roman Ver Mensaje
[...] un acceso local en el cual el BDE lleva las de ganar puesto que el acceso se hace directamente sobre el archivo físico de la tabla.
Con Paradox lo encontraría lógico, pero con SQL Server no imagino al BDE accediendo directamente al archivo MDF (o cual sea que fuese la extensión).

Creo que me estoy perdiendo de algo...
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Comenzando con Firebird... Kenobi SQL 6 15-04-2007 19:44:42
Comenzando de Nuevo con Delphi 2007 dvd2000 Conexión con bases de datos 3 15-04-2007 15:54:40


La franja horaria es GMT +2. Ahora son las 07:37:31.


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