1. Intente utilizar el procesamiento de transacciones para actualizar la base de datos.
El procesamiento de transacciones de VB incluye múltiples instrucciones de operación de bases de datos que comienzan con BeginTrans y terminan con CommitTrans o Rollback. Además de garantizar la integridad de la base de datos, el procesamiento de transacciones también puede mejorar en gran medida la eficiencia de las actualizaciones por lotes de la base de datos. Esto se debe a que si la operación de actualización de la base de datos no utiliza el procesamiento de transacciones, cada operación de actualización hará que la base de datos se escriba en el disco una vez. Después de usar el procesamiento de transacciones, las actualizaciones solo se realizan en el búfer de memoria y todas las modificaciones se vuelven a escribir en el disco a la vez cuando se ejecuta CommitTrans. Hay algunos puntos a tener en cuenta al utilizar el procesamiento de transacciones:
(1) El procesamiento de transacciones debe tener un mecanismo completo de verificación de errores;
(2) Debido a que VB usa bloqueos de página en la base de datos antes de que finalice la transacción, en un entorno multiusuario, si la transacción se suspende, otros usuarios no podrán acceder a los datos bloqueados.
2. Intente utilizar la descomposición de código para seleccionar operaciones de recuperación
Usar Select para operaciones de bases de datos es simple y fácil de usar, pero si algunas operaciones de recuperación se descomponen en códigos de recuperación manuales equivalentes, la velocidad de recuperación de la base de datos se acelerará enormemente. El método básico de descomposición es indexar los campos clave de recuperación y utilizarlos. Buscar Después de ubicar el método, según las características ordenadas de la base de datos indexada, Búsqueda transversal de filas Cuando el rango transversal no es muy amplio, este método puede mejorar la velocidad de acceso a la base de datos docenas de veces. Por ejemplo: Select*frompersonwherevol='123'andbirth=#11-02-73# se descompone en las siguientes operaciones. , la velocidad de acceso se puede mejorar mucho:
Table.Index=volTable.Seek=, 123sinotable.nomatchentonces
mientrasnottable.eof
iftable(vol)=123entonces
tabla.movelast
elseiftable(Nacimiento)=#11-02-73#entonces
'Buscar registro
endif
tabla.movenext
wendendif
3. Utilice adjuntar para vincular la tabla de la base de datos.
Cuando usamos ODBC para conectarnos a servidores de bases de datos como MSSQLServer, Oracle y Sysbase, podemos vincular las tablas en el servidor a la base de datos MSAcess a través de la función adjuntar de MSAcess, porque la base de datos MSAcess puede almacenar en caché la estructura de la tabla en el servidor de la base de datos. Cuando accedemos a una fuente de datos ODBC podemos mejorar el rendimiento del acceso al sistema.
4. Utilice la opción dbSQLPassThrough
Al conectarse a los servidores de bases de datos MSSQLServer, Oracle y Sysbase, utilice la opción dbSQLPassThrough para enviar comandos directamente al servidor de la base de datos, lo que reduce la inspección e interpretación de los comandos por parte del middleware y mejora el rendimiento del acceso a la base de datos. El siguiente ejemplo utiliza un procedimiento almacenado para crear Dynaset:
dimmydbasdatabasedimmydsasdynasetsetmydb=opendatabase(..........)'Abra la base de datos setmyds=mydb.openrecordset(nombre, dbOpendynaset, dbSQLPassThrough,...)
La desventaja de utilizar dbSQLPassThrough es que el conjunto de registros devuelto es de sólo lectura.
5. Utilice correctamente el objeto de acceso a la base de datos Tabla.
Admite comandos e índices de búsqueda. La combinación de los dos puede encontrar registros más rápido. El autor hizo una vez una prueba de comparación de velocidad y Table tardó 3,5 segundos en recuperar 100.000 registros, 9 segundos para Dynaset y 10 segundos para Snapshot. operaciones de lectura y escritura No Admite ORDENAR y FILTRAR, que deben reemplazarse por Índice correspondiente a la tabla física en la base de datos, la adición, eliminación y modificación afectarán directamente a la tabla de la base de datos.
Dynaset. El objeto de base de datos más flexible. Admite operaciones de lectura y escritura y es un subconjunto dinámico de registros. En ODBC, las operaciones de escritura requieren la configuración de un índice único. Admite ORDENAR y FILTRAR. Sólo se puede utilizar Dynaset.
Instantánea. Solo se puede leer pero no escribir y no se puede bloquear. No admite el procesamiento de transacciones. No admite los métodos Editar, Agregar nuevo y Actualizar.
->