Al abrir una página ASP, la página necesita acceder a la base de datos y luego mostrar el contenido que cumple con los requisitos de la página. Si hay muchos registros en la base de datos, la velocidad de acceso a la página será relativamente lenta. Se pueden utilizar los siguientes métodos para mejorar la velocidad de acceso a la página.
Consejo uno: mejore la eficiencia del uso de la colección de solicitudes
Acceder a una colección ASP para extraer un valor es un proceso computacionalmente intensivo que requiere mucho tiempo. Debido a que esta operación implica una serie de búsquedas en colecciones relacionadas, es mucho más lenta que acceder a una variable local. Por lo tanto, si planea utilizar un valor en la colección de solicitudes varias veces en la página, debería considerar almacenarlo como una variable local.
Por ejemplo, escriba el código de la siguiente forma para acelerar el procesamiento del motor de secuencias de comandos:
Copie el código de código de la siguiente manera:
strTitle=Solicitud.Form("Título")
strFirstName=Solicitud.Form("Nombre")
strApellido=Solicitud.Form("Apellido")
Si Len(strTitle) Entonces strTitle=strTitle & " "
Si strFirstName="" Entonces strFullName=strTitle & " " & strLastName
Elseif Len(strFirstName)=1 Entonces
strFullName=strTítulo & strFirstName & ". " & strApellido
Demás
strFullName=strTítulo & strPrimerNombre & " " & strApellido
Terminar si
Consejo 2: acceda directamente a la colección adecuada
Si no tiene otra opción, no use strPage=Request("page") para obtener parámetros, porque esto buscará en toda la colección en orden: QueryString, Form, Cookies, ClientCertificate, ServerVarible hasta que se encuentre la primera coincidencia. El nombre del valor. Hacerlo es menos eficiente que acceder directamente a la colección apropiada y no es seguro a menos que exista una garantía absoluta de que el valor no aparecerá en otra colección.
Por ejemplo, es posible que desee buscar el nombre de un servidor WEB que cumpla con la solicitud de un cliente. Esto se logra buscando "SERVER_NAME" en la colección Request.ServerVarables que aparece en cada consulta. Sin embargo, si otras colecciones también contienen valores denominados "SERVER_NAME" (los nombres de las claves no distinguen entre mayúsculas y minúsculas), obtendrá resultados incorrectos al utilizar Request ("server_Name"). En resumen, siempre que sea posible se debe acceder directamente a la colección adecuada.
Consejo 3: utilice la propiedad Response.IsClientConnected antes de realizar operaciones que requieran mucho tiempo
Usar Response.IsClientConnected es una forma útil de observar si el usuario todavía está conectado al servidor y cargando la página web creada por ASP. Si el usuario se desconecta o deja de descargar, ya no tendremos que desperdiciar recursos del servidor creando la página web porque IIS descartará el contenido del búfer. Por lo tanto, para las páginas que requieren mucho tiempo para calcular o utilizan muchos recursos, vale la pena verificar en cada etapa si el visitante está desconectado:
Copie el código de código de la siguiente manera:
… Código para crear la primera parte de la página.
Si Response.IsClientConnected entonces
Respuesta.Flush
Demás
Respuesta.Fin
Terminar si
… Código para crear la siguiente parte de la página.
Consejo 4: Optimice las operaciones ADO en ASP
En términos generales, los datos constituyen el contenido real de un sitio WEB. Por tanto, es muy útil optimizar las operaciones ADO para acelerar la ejecución del código ASP:
a. Seleccione solo las columnas requeridas: al abrir un conjunto de registros ADO, no debe usar automáticamente el nombre de la tabla (es decir, SELECT *) a menos que necesite obtener todas las columnas. El uso de columnas separadas significa que se reduce la cantidad de datos enviados o recuperados del servidor. Incluso si necesita utilizar todas las columnas, nombrar cada columna individualmente logrará el mejor rendimiento, porque el servidor no tiene que interpretar los nombres de las columnas.
b. Utilice procedimientos almacenados siempre que sea posible. Los procedimientos almacenados son programas precompilados que contienen un plan de ejecución preparado, por lo que se ejecutan más rápido que las sentencias SQL.
c. Utilice patrones de cursor y bloqueo apropiados. Si todo lo que hace es leer datos del conjunto de registros y mostrarlos en la pantalla, utilice el conjunto de registros predeterminado de solo lectura y solo avance. Cuanto menos trabajo tenga que hacer ADO para mantener los detalles de registros y bloqueos, mayor será el rendimiento que realizará.
d. Utilice variables de objeto. Una forma segura de mejorar el rendimiento al iterar sobre un conjunto de registros es utilizar variables de objeto para señalar a los miembros de la colección. Por ejemplo:
Copie el código de código de la siguiente manera:
Aunque no es RsGc.EOF
Respuesta.Escriba "Nombre del proyecto:" & RsGc("GcMC") & "(Código del proyecto:" & RsGc("GcCode") & ")"
RsGc.MoverSiguiente
Encaminarse a
Esto se puede reescribir como el siguiente código para acelerar la ejecución:
Copie el código de código de la siguiente manera:
establecer GcMc=RsGc("GcMc")
establecer GcCode=RsGc("GcCode")
Mientras no sea rsGc.EOF Response.Write "Nombre del proyecto:" & GcMc & "(Código del proyecto: " & GcCode & ")"
RsGc.MoverSiguiente
Encaminarse a
El nuevo código establece una referencia a la variable de objeto, por lo que se puede usar la variable de objeto en lugar de la variable real, lo que significa que el motor de script tiene menos trabajo que hacer porque hay menos índices en la colección.
Consejo 5: no mezcle motores de script
Sabemos que tanto VBScript como JScript se pueden utilizar en páginas ASP. Pero no es recomendable utilizar JScript y VBScript al mismo tiempo en la misma página. Debido a que el servidor debe crear instancias e intentar almacenar en caché dos (en lugar de uno) motores de secuencias de comandos, esto aumenta la carga en el sistema hasta cierto punto. Por lo tanto, por motivos de rendimiento, no debes mezclar varios motores de secuencias de comandos en la misma página.