FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
tabla muy grande
Hola Amigos , como estan , les contare lo que me paso el dia de ayer , estoy desarrollando una plicacion y una de las tablas con la que trabajo tiene cerca de 2 millones de registros (trabajo con SQL Server 4.0 en un servidor Windows NT y las estaciones de trabajo con win98se), es problema sucedio cuando estube diseñando mi aplicacion en delphi 6.0 y decidi poner la propiedad active := true a la dicha tabla y el windows se colgo. Intente varias veces la operacion y siempre con el mismo resultado , sera que la tabal es muy grande o algo estoy haciendo mal... no lo se ayudenme, Ah estoy usando los componentes de la Paleta ADO creo que son los mejores para aplicaciones SQL server, y me conecto con ADOConnection a traves de un ODBC, acepto cualquier tipo de sugerencia , muchas gracias de antemano
|
#2
|
||||
|
||||
No creo que nunca requieras que tu aplicación muestre TODOS los registros de una tabla de este tipo, normalmente vas a mostrar consultas de partes de estas tablas. No te recomiendo usar un TTable o similar, que creo que es lo que estas haciendo, lo que vas a necesitar utilizar son Querys, y en el caso de que tengas que recorrer todos los registros de la tabla por algún motivo, te recomiendo abrir datasets unidireccionales.
Te cuento que en la empresa en la que trabajo, hay tablas de 20 millones de registros, lo que es una locura, pero los sistemas están diseñados así. Hace 6 años que trabajo, y no recuerdo nunca tener que haber consultado todos los registros de estas tablas, siempre fueron consultas por lotes. Éxitos
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
|||
|
|||
Además de la buena obervacion realizada por nuestro compañero, me permito hacerte pensar,
¿porque usas una conexion ODBC? Si estas con SQL Server y los clientes son 98 SE, porque no usar el proveedor de datos optimo? En este caso via MDAC en la conexion usaría SQLOLEDB. Seguro que debe dar mas rendimiento. POr supuesto deberás usar SELECT's y acotarlas, pero en cualquier caso debe ir más ràpido. Recuerda actualizar la version de MDAC de cada ordenador cliente, ganarás en prestaciones. El update lo tienes en http://www.microsoft/data/download.htm De lo que no estoy seguro es de que si actualizas un 98 SE 'antiguo' vaya más ràpido. Pero MAS prestaciones, seguro. Si te has decidido en probarlo, me gustaria que me confrimases se ganas o no en prestaciones y en rendimiento. Hasta luego! |
|
|
|