Ao abrir uma página asp, a página precisa acessar o banco de dados e, em seguida, exibir o conteúdo que atende aos requisitos da página. Se houver muitos registros no banco de dados, a velocidade de acesso da página será relativamente lenta. Os métodos a seguir podem ser usados para melhorar a velocidade de acesso da página.
Dica um: melhore a eficiência do uso da coleção Request
Acessar uma coleção ASP para extrair um valor é um processo demorado e computacionalmente intenso. Como esta operação envolve uma série de pesquisas em coleções relacionadas, ela é muito mais lenta do que acessar uma variável local. Portanto, se você planeja usar um valor na coleção Request diversas vezes na página, considere armazená-lo como uma variável local.
Por exemplo, escreva o código no seguinte formato para acelerar o processamento do mecanismo de script:
Copie o código do código da seguinte forma:
strTitle=Request.Form("Título")
strPrimeiroNome=Request.Form("Nome")
strLastName=Request.Form("Sobrenome")
Se Len(strTitle) Então strTitle=strTitle & " "
Se strPrimeiroNome="" Então strFullName=strTítulo & " " & strLastName
Elseif Len(strPrimeiroNome)=1 Então
strFullName=strTítulo & strNome & ". " & strSobrenome
Outro
strFullName=strTítulo & strNome & " " & strSobrenome
Terminar se
Dica 2: acesse diretamente a coleção apropriada
Se você não tiver escolha, não use strPage=Request("page") para obter parâmetros, pois isso pesquisará toda a coleção em ordem - QueryString, Form, Cookies, ClientCertificate, ServerVarible até que a primeira correspondência seja encontrada O nome do valor. Fazer isso é menos eficiente do que acessar diretamente a coleção apropriada e não é seguro, a menos que haja garantia absoluta de que o valor não aparecerá em outra coleção.
Por exemplo, você pode querer procurar o nome de um servidor WEB que atenda à solicitação de um cliente. Isso é feito procurando por "SERVER_NAME" na coleção Request.ServerVarables que aparece em cada consulta. No entanto, se outras coleções também contiverem valores chamados "SERVER_NAME" (os nomes das chaves não diferenciam maiúsculas de minúsculas), você obterá resultados incorretos ao usar Request("server_Name"). Em resumo, a coleção apropriada deve ser acessada diretamente sempre que possível.
Dica 3: Use a propriedade Response.IsClientConnected antes de operações demoradas
Usar Response.IsClientConnected é uma forma útil de observar se o usuário ainda está conectado ao servidor e carregando a página web criada pelo ASP. Se o usuário desconectar ou parar de baixar, não precisaremos mais desperdiçar recursos do servidor criando a página web porque o conteúdo do buffer será descartado pelo IIS. Portanto, para páginas que exigem muito tempo de computação ou que utilizam muitos recursos, vale verificar em todas as etapas se o visitante está offline:
Copie o código do código da seguinte forma:
… Código para criar a primeira parte da página
Se Response.IsClientConnected então
Resposta.Flush
Outro
Resposta.Fim
Terminar se
… Código para criar a próxima parte da página
Dica 4: Otimize as operações ADO em ASP
De um modo geral, os dados constituem o conteúdo real de um site WEB. Portanto, é muito útil otimizar as operações ADO para acelerar a execução do código ASP:
a. Selecione apenas as colunas necessárias: Ao abrir um conjunto de registros ADO, você não deve usar automaticamente o nome da tabela (ou seja, SELECT *), a menos que precise obter todas as colunas. Usar colunas separadas significa que a quantidade de dados enviados ou obtidos do servidor é reduzida. Mesmo que você precise usar todas as colunas, nomear cada coluna individualmente proporcionará o melhor desempenho, pois o servidor não precisa interpretar os nomes das colunas.
b. Use procedimentos armazenados sempre que possível. Os procedimentos armazenados são programas pré-compilados que contêm um plano de execução preparado, portanto, são executados mais rapidamente do que as instruções SQL.
c. Use cursor e padrões de bloqueio apropriados. Se tudo o que você fizer for ler os dados do conjunto de registros e exibi-los na tela, use o conjunto de registros padrão somente encaminhamento e somente leitura. Quanto menos trabalho o ADO tiver para manter os detalhes dos registros e bloqueios, maior será o desempenho que ele executa.
d.Use variáveis de objeto. Uma maneira segura de melhorar o desempenho ao iterar em um conjunto de registros é usar variáveis de objeto para apontar para membros da coleção. Por exemplo:
Copie o código do código da seguinte forma:
Embora não seja RsGc.EOF
Response.Write "Nome do projeto:" & RsGc("GcMC") & "(Código do projeto:" & RsGc("GcCode") & ")"
RsGc.MoveNext
Wend
Isso pode ser reescrito como o seguinte código para acelerar a execução:
Copie o código do código da seguinte forma:
definir GcMc=RsGc("GcMc")
definir GcCode=RsGc("GcCode")
Embora não seja rsGc.EOF Response.Write "Nome do projeto:" & GcMc & "(Código do projeto: " & GcCode & ")"
RsGc.MoveNext
Wend
O novo código estabelece uma referência à variável do objeto, portanto a variável do objeto pode ser usada em vez da variável real, o que significa que o mecanismo de script tem menos trabalho a fazer porque há menos índices na coleção.
Dica 5: não misture mecanismos de script
Sabemos que tanto VBScript quanto JScript podem ser usados em páginas ASP. Mas não é aconselhável usar JScript e VBScript ao mesmo tempo na mesma página. Como o servidor deve instanciar e tentar armazenar em cache dois mecanismos de script (em vez de um), isso aumenta a carga no sistema até certo ponto. Portanto, por motivos de desempenho, você não deve misturar vários mecanismos de script na mesma página.