Pregunta

Escenario : Hay un programa de legado (No está seguro de qué idioma) y me ha pedido que "formas compactas y archivo en la base de datos". En el momento en que el usuario abre la aplicación que se está llevando alrededor 2-5 minutos para cargar alrededor de 27.000 expedientes !!! Mi teoría es que se está cargando todos los registros de la puesta en marcha, pero que podría no ser la única razón. Después de hacer algo de investigación y la búsqueda de un fin de Acceso de espalda que parece correcto, también encontré los mismos archivos de acceso en otros más de 15 acciones de la empresa. Ahora bien, esta aplicación fue creada en algún momento alrededor de 1997, cuando estoy adivinando El acceso era la norma, pero que iba a ser realmente el acaparamiento de los datos de las bases de datos de acceso mayores de 15 años? Lo que parece ser la norma para acelerar este programa es archivar los documentos más antiguos en otra base de datos de acceso (que es por eso que estoy pensando que es todo lo carga en el arranque.

Pregunta : Tengo una reunión el lunes para discutir el programa y preguntaba si alguien podría sugerir algunas preguntas útiles, teorías, soluciones, etc. No es que yo no puedo hacer esto por mi propia, sólo pienso otra perspectiva no podría lastimar. También otro hecho divertido es que puede o no puede ser capaz de obtener el código fuente, ya que puede haber sido creado por un contratista y el código perdido hace mucho tiempo.

Nota lateral : ¿Sería posible para el Acceso a los registros de auto-archivo de edad? Eso significaría su traslado a otro DB llama XXXArch.

Gracias de antemano. Voy a tratar de responder a cualquier pregunta que tenga.

Editar

Aquí está una actualización de la situación.

Parece que su único uso de una base de datos como el principal y uno para archivar. Todavía todavía tiene que tener mi propia cuenta de usuario para abrir la aplicación, pero cuando se busca en la base de datos hay una tabla de usuario con el ID de usuario y la misma contraseña (password) así que traté de iniciar sesión como uno de esos usuarios y simplemente seleccionando algunos datos no modificar nada. Al seleccionar pude obtener datos casi instantáneamente y no estaba viendo cualquiera de la desaceleración que los demás usuarios estaban recibiendo. Todavía no he visto el código fuente pero por lo que puedo decir (tomando el exe y ponerlo en el bloc de notas) todo apunta a que se codificó en VBA y probablemente creado usando MS Access. También parece que la aplicación crea un temp.mdb en una carpeta de datos. Actualmente no tiene nada en ella. No hay mesas, nada. Asumo / la esperanza de que esto es lo que se está desacelerando los usuarios hacia abajo y sólo puede ser borrado para mejorar el rendimiento. Voy a publicar otra actualización una vez que obtener el código fuente y tener una mejor idea de lo que está disminuyendo su velocidad.

¿Fue útil?

Solución

Un par de cosas a tener en cuenta:

Access (MDB) bases de datos tienden a necesitar / reparación compacta regular como se anotó en el título si están en uso frecuente. Sin embargo rara vez he encontrado que ayuda prestaciones más que mínimamente. Si ha pasado un tiempo muy largo el archivo puede hincharse realmente grande y que podría ser parte del problema si los usuarios están accediendo a ella a través de una conexión de red lenta.

Alguien va a sugerir la actualización a una base de datos como SQL Server "más grande", ya sea en su empresa o en este foro. No hacer eso hasta que haya aislado el problema o menos que tenga una razón distinta de rendimiento. Hay una posibilidad razonable de los problemas son causados ??por el diseño de aplicaciones pobre o arquitectura de base de datos. Lanzar una herramienta más poderosa en el problema sin cambiar el enfoque es poco probable que ayuda.

Un acceso DB va a salir máximo de usuarios simultáneos mucho antes de que maxes en los datos. Tenía una gran cantidad de usuarios (30+) acaba de empezar a utilizar el sistema? Eso podría ser parte del problema.

Archivo de registros antiguos: Usted va a tener que construir algo que ver esto. La buena noticia es que no es tan difícil.

Acceso a más de 15 bases de datos: ¿Está seguro de que el GUI front-end no está escrito en el acceso. Se trata de una arquitectura común con acceso a tener un extremo frontal MDB cargado en la máquina del usuario final (copiado en todas partes) se conecta a un archivo de datos MDB centro fuera de la red. La mejor manera de saberlo es abrir las bases de datos y ver si contienen tablas sólo o tablas + formularios / informes.

Otros consejos

Me parece que su primera orden del día debe ser para resolver este problema:

que puede o no ser capaz de obtener el código fuente, ya que puede haber sido creado por un contratista y el código perdido hace mucho tiempo.

Tal como está ahora, usted está pidiendo que especular sobre las causas y remedios para, la lentitud ... y sin ningún conocimiento acerca de lo que realmente está pasando.

Si usted no tiene el código fuente, no se puede cambiar la base de datos back-end de SQL Server ni ninguna otra cosa.

Sin embargo, si en realidad tienen acceso a los archivos de datos y son capaces de editar ellos, ¿por qué no la indexación? registros 27K es trivial para cualquier base de datos, incluido el acceso, y la lentitud en la carga de los datos me sugieren que las tablas son simplemente no indizadas apropiadamente. Si examina las tablas y no ven índices en campos obvias, a continuación, intente agregar ellos y ver si se acelera las cosas.

Si no es así, entonces significa que la aplicación está mal diseñado y puesto que carecen de código fuente, no hay mucho que pueda hacer al respecto.

Todo lo anterior supone, por supuesto, que el entorno de red es adecuado para el acceso / Jet / ACE. Es decir, si se accede a estos archivos de bases de datos en que no sea una LAN cableada nada, entonces no hay nada se puede hacer al respecto (WAN y WiFi están completamente fuera de Jet / ACE).

Por último, sobre el tema del archivo, creo que no hay ninguna justificación para siempre archivar datos a menos que realmente está ejecutando en contra de límites estrictos de hardware / software. En este caso, no está ni siquiera cerca de eso.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top