Cuando desarrollamos SQL, encontraremos que a veces la ejecución de asp es lenta. Podemos utilizar los siguientes métodos para mejorar la eficiencia de la ejecución.
[b]Método 1: intente utilizar SQL complejo en lugar de un montón de SQL simple[/b]
Para la misma transacción, un SQL complejo se puede completar de manera más eficiente que un montón de SQL simple. Cuando hay varias consultas, debe saber usar JOIN.
oRs=oConn.Execute(Seleccione * DE Libros)
mientras no ors.Eof
strSQL = Seleccionar * DE Autores Donde AuthorID=&oRs(AuthorID) ors2=oConn.Execute(strSQL)
Respuesta.escribir ors(Título)&>>&oRs2(Nombre)&<br>
ors.MoveNext()
encaminarse a
es más lento que el siguiente código:
strSQL=Seleccione Libros.Título,Autores.Nombre DE Libros ÚNASE a Autores EN Autores.AuthorID=Libros.AuthorID
ors=oConn.Execute(strSQL)
mientras no ors.Eof
Respuesta.escribir ors(Título)&>>&oRs(Nombre)&<br>
ors.MoveNext()
encaminarse a
[b]Método 2: intente evitar el uso de Recordset actualizable[/b]
oRs=oConn.Execute(Seleccione * DE Autores donde AuthorID=17,3,3)
ors(Nombre)=Hombre Oscuro
ors.Actualizar()
es más lento que el siguiente código:
strSQL = Actualizar autores SET Nombre='DarkMan' Donde AuthorID=17
oConn.Ejecutar strSQL
[b]Método 3: al actualizar la base de datos, intente utilizar actualizaciones por lotes[/b]
Forme todo el SQL en un lote grande de SQL y ejecútelo de una vez; esto es mucho más eficiente que actualizar los datos uno por uno; Esto también satisfará mejor sus necesidades de procesamiento de transacciones:
strSQL=
strSQL=strSQL&SET XACT_ABORT ON/n;
strSQL=strSQL&BEGIN TRANSACCIÓN/n;
strSQL=strSQL&Insertar EN pedidos(OrdID,CustID,OrdDat) VALUES('9999','1234',GETDATE())/n;
strSQL=strSQL&Insertar EN orderRows(OrdID,OrdRow,Artículo,Cantidad) VALUES('9999','01','G4385',5)/n;
strSQL=strSQL&Insert INTO orderRows(OrdID,OrdRow,Artículo,Cantidad) VALUES('9999','02','G4726',1)/n;
strSQL=strSQL&COMMIT TRANSACCIÓN/n;
strSQL=strSQL&SET XACT_ABORT OFF/n;
oConn.Execute(strSQL);
Entre ellos, la instrucción SET XACT_ABORT OFF le dice a SQL Server que si se encuentra un error durante el siguiente procesamiento de la transacción, la transacción completada se cancelará.
[b]Método 4, índice de base de datos[/b]
Para aquellos campos que aparecerán en la cláusula Where, primero debe considerar la indexación de aquellos campos que deben ordenarse;
Cómo crear un índice en MS Access: seleccione la tabla que debe indexarse en Access, haga clic en Diseño y luego configure el índice del campo correspondiente.
Cómo crear un índice en MS SQL Server: en el Administrador de SQL Server, seleccione la tabla correspondiente, luego diseñe la tabla, haga clic derecho, seleccione Propiedades y seleccione índices/claves
[b]Método 5: Evite hacer que el campo Texto sea demasiado grande[/b]
Cuando el tamaño del valor de la cadena no es fijo, usar varchar es mejor que usar char. Una vez vi un programa de ejemplo donde el campo estaba definido como TEXTO (255), pero su valor a menudo tenía solo 20 caracteres. Esta tabla de datos tiene 50.000 registros, lo que hace que esta base de datos sea muy grande y las bases de datos grandes seguramente serán más lentas.