1) Uso de Comentários no Código
O uso de comentários em páginas HTML não é algo muito interessante pois aumenta a quantidade de informações que é transferida do Servidor Web para o Browser, e só tem utilidade para os programadores da página. Entretanto, os comentários no código ASP não representam uma mudança significativa na performance das páginas pois são simplesmente ignorados pelo interpretador e não são transferidos para o browser.
2) Scripts Muito Longos
Obviamente, você pode incluir suas regras de negócio em páginas ASP, pois elas são processadas no Servidor Web. Entretanto, isto pode tornar os seus scripts muito longos.
Não podemos perder de vista que todo código ASP é interpretado linha a linha. Dessa maneira, scripts muito longos podem se tornar muito lentos. Nestes casos, a melhor maneira é usar Componentes que encapsulem as regras de negócio em código compilado.
3) Uso de Variáveis Globais
Sempre que possível, evite o uso de variáveis globais. As variáveis declaradas dentro de subrotinas ou funções são acessadas mais rapidamente e deixam o código mais limpo e organizado.
4) Tratamento de Erro
Tratamento de Erros é essencial em aplicações sérias. Mas existe uma pequena queda na performance das páginas que possuem tratamento de erro. Dessa maneira, o bom senso diz que o tratamento de erro deve ser usado sempre que você não tiver controle sobre os erros que possam acontecer em sua aplicação. Um bom exemplo é quando você usa objetos que acessam outros recursos, tais como ADO ou FileSystem.
5) Uso de Transações
O uso de transações (<%@ TRANSACTION = REQUIRED %>) causa uma queda dramática da performance de páginas ASP. Dessa forma, apenas use transações quando duas ou mais operações precisem ser realizadas de uma única vez.
6) Uso de Buffer
Você pode determinar que o conteúdo de sua página ASP seja exibido somente depois de todo o processamento da página através da propriedade Response.Buffer = True.
Isto é uma boa prática, pois aumenta a performance de processamento das páginas ASP. Mas em alguns casos, é necessário enviar alguma informação ao cliente durante o processamento das páginas. Nestes casos, use Response.Buffer = False ou use o método Response.Flush para enviar as informações processadas até o momento para o browser.
7) Desabilitar o Controle de Estado Quando Possível (Local e Server)
O controle de estado é algo muito interessante que as páginas ASP nos proporcionam. Entretanto, existe uma queda na performance de páginas que fazem uso deste recurso.
Desta maneira, sempre que o controle de estado não se fizer necessário em uma página, use a seguinte instrução para desabilitá-lo:
<%@ENABLESESSIONSTATE = FALSE %>
2) Scripts Muito Longos
Obviamente, você pode incluir suas regras de negócio em páginas ASP, pois elas são processadas no Servidor Web. Entretanto, isto pode tornar os seus scripts muito longos.
Não podemos perder de vista que todo código ASP é interpretado linha a linha. Dessa maneira, scripts muito longos podem se tornar muito lentos. Nestes casos, a melhor maneira é usar Componentes que encapsulem as regras de negócio em código compilado.
3) Uso de Variáveis Globais
Sempre que possível, evite o uso de variáveis globais. As variáveis declaradas dentro de subrotinas ou funções são acessadas mais rapidamente e deixam o código mais limpo e organizado.
4) Tratamento de Erro
Tratamento de Erros é essencial em aplicações sérias. Mas existe uma pequena queda na performance das páginas que possuem tratamento de erro. Dessa maneira, o bom senso diz que o tratamento de erro deve ser usado sempre que você não tiver controle sobre os erros que possam acontecer em sua aplicação. Um bom exemplo é quando você usa objetos que acessam outros recursos, tais como ADO ou FileSystem.
5) Uso de Transações
O uso de transações (<%@ TRANSACTION = REQUIRED %>) causa uma queda dramática da performance de páginas ASP. Dessa forma, apenas use transações quando duas ou mais operações precisem ser realizadas de uma única vez.
6) Uso de Buffer
Você pode determinar que o conteúdo de sua página ASP seja exibido somente depois de todo o processamento da página através da propriedade Response.Buffer = True.
Isto é uma boa prática, pois aumenta a performance de processamento das páginas ASP. Mas em alguns casos, é necessário enviar alguma informação ao cliente durante o processamento das páginas. Nestes casos, use Response.Buffer = False ou use o método Response.Flush para enviar as informações processadas até o momento para o browser.
7) Desabilitar o Controle de Estado Quando Possível (Local e Server)
O controle de estado é algo muito interessante que as páginas ASP nos proporcionam. Entretanto, existe uma queda na performance de páginas que fazem uso deste recurso.
Desta maneira, sempre que o controle de estado não se fizer necessário em uma página, use a seguinte instrução para desabilitá-lo:
<%@ENABLESESSIONSTATE = FALSE %>
Não podemos perder de vista que todo código ASP é interpretado linha a linha. Dessa maneira, scripts muito longos podem se tornar muito lentos. Nestes casos, a melhor maneira é usar Componentes que encapsulem as regras de negócio em código compilado.
3) Uso de Variáveis Globais
Sempre que possível, evite o uso de variáveis globais. As variáveis declaradas dentro de subrotinas ou funções são acessadas mais rapidamente e deixam o código mais limpo e organizado.
4) Tratamento de Erro
Tratamento de Erros é essencial em aplicações sérias. Mas existe uma pequena queda na performance das páginas que possuem tratamento de erro. Dessa maneira, o bom senso diz que o tratamento de erro deve ser usado sempre que você não tiver controle sobre os erros que possam acontecer em sua aplicação. Um bom exemplo é quando você usa objetos que acessam outros recursos, tais como ADO ou FileSystem.
5) Uso de Transações
O uso de transações (<%@ TRANSACTION = REQUIRED %>) causa uma queda dramática da performance de páginas ASP. Dessa forma, apenas use transações quando duas ou mais operações precisem ser realizadas de uma única vez.
6) Uso de Buffer
Você pode determinar que o conteúdo de sua página ASP seja exibido somente depois de todo o processamento da página através da propriedade Response.Buffer = True.
Isto é uma boa prática, pois aumenta a performance de processamento das páginas ASP. Mas em alguns casos, é necessário enviar alguma informação ao cliente durante o processamento das páginas. Nestes casos, use Response.Buffer = False ou use o método Response.Flush para enviar as informações processadas até o momento para o browser.
7) Desabilitar o Controle de Estado Quando Possível (Local e Server)
O controle de estado é algo muito interessante que as páginas ASP nos proporcionam. Entretanto, existe uma queda na performance de páginas que fazem uso deste recurso.
Desta maneira, sempre que o controle de estado não se fizer necessário em uma página, use a seguinte instrução para desabilitá-lo:
<%@ENABLESESSIONSTATE = FALSE %>
4) Tratamento de Erro
Tratamento de Erros é essencial em aplicações sérias. Mas existe uma pequena queda na performance das páginas que possuem tratamento de erro. Dessa maneira, o bom senso diz que o tratamento de erro deve ser usado sempre que você não tiver controle sobre os erros que possam acontecer em sua aplicação. Um bom exemplo é quando você usa objetos que acessam outros recursos, tais como ADO ou FileSystem.
5) Uso de Transações
O uso de transações (<%@ TRANSACTION = REQUIRED %>) causa uma queda dramática da performance de páginas ASP. Dessa forma, apenas use transações quando duas ou mais operações precisem ser realizadas de uma única vez.
6) Uso de Buffer
Você pode determinar que o conteúdo de sua página ASP seja exibido somente depois de todo o processamento da página através da propriedade Response.Buffer = True.
Isto é uma boa prática, pois aumenta a performance de processamento das páginas ASP. Mas em alguns casos, é necessário enviar alguma informação ao cliente durante o processamento das páginas. Nestes casos, use Response.Buffer = False ou use o método Response.Flush para enviar as informações processadas até o momento para o browser.
7) Desabilitar o Controle de Estado Quando Possível (Local e Server)
O controle de estado é algo muito interessante que as páginas ASP nos proporcionam. Entretanto, existe uma queda na performance de páginas que fazem uso deste recurso.
Desta maneira, sempre que o controle de estado não se fizer necessário em uma página, use a seguinte instrução para desabilitá-lo:
<%@ENABLESESSIONSTATE = FALSE %>
5) Uso de Transações
O uso de transações (<%@ TRANSACTION = REQUIRED %>) causa uma queda dramática da performance de páginas ASP. Dessa forma, apenas use transações quando duas ou mais operações precisem ser realizadas de uma única vez.
6) Uso de Buffer
Você pode determinar que o conteúdo de sua página ASP seja exibido somente depois de todo o processamento da página através da propriedade Response.Buffer = True.
Isto é uma boa prática, pois aumenta a performance de processamento das páginas ASP. Mas em alguns casos, é necessário enviar alguma informação ao cliente durante o processamento das páginas. Nestes casos, use Response.Buffer = False ou use o método Response.Flush para enviar as informações processadas até o momento para o browser.
7) Desabilitar o Controle de Estado Quando Possível (Local e Server)
O controle de estado é algo muito interessante que as páginas ASP nos proporcionam. Entretanto, existe uma queda na performance de páginas que fazem uso deste recurso.
Desta maneira, sempre que o controle de estado não se fizer necessário em uma página, use a seguinte instrução para desabilitá-lo:
<%@ENABLESESSIONSTATE = FALSE %>
6) Uso de Buffer
Você pode determinar que o conteúdo de sua página ASP seja exibido somente depois de todo o processamento da página através da propriedade Response.Buffer = True.
Isto é uma boa prática, pois aumenta a performance de processamento das páginas ASP. Mas em alguns casos, é necessário enviar alguma informação ao cliente durante o processamento das páginas. Nestes casos, use Response.Buffer = False ou use o método Response.Flush para enviar as informações processadas até o momento para o browser.
7) Desabilitar o Controle de Estado Quando Possível (Local e Server)
O controle de estado é algo muito interessante que as páginas ASP nos proporcionam. Entretanto, existe uma queda na performance de páginas que fazem uso deste recurso.
Desta maneira, sempre que o controle de estado não se fizer necessário em uma página, use a seguinte instrução para desabilitá-lo:
<%@ENABLESESSIONSTATE = FALSE %>
Isto é uma boa prática, pois aumenta a performance de processamento das páginas ASP. Mas em alguns casos, é necessário enviar alguma informação ao cliente durante o processamento das páginas. Nestes casos, use Response.Buffer = False ou use o método Response.Flush para enviar as informações processadas até o momento para o browser.
7) Desabilitar o Controle de Estado Quando Possível (Local e Server)
O controle de estado é algo muito interessante que as páginas ASP nos proporcionam. Entretanto, existe uma queda na performance de páginas que fazem uso deste recurso.
Desta maneira, sempre que o controle de estado não se fizer necessário em uma página, use a seguinte instrução para desabilitá-lo:
<%@ENABLESESSIONSTATE = FALSE %>
Desta maneira, sempre que o controle de estado não se fizer necessário em uma página, use a seguinte instrução para desabilitá-lo:
<%@ENABLESESSIONSTATE = FALSE %>
Se nenhuma das páginas de seu site fizer uso de controle de estado, você pode configurar diretamente nas propriedades do site. Para isto, selecione a caixa de diálogo Properties do site em questão. Em seguida, selecione o botão Configuration na aba Home Directory. Desmarque, então, a opção enable session state em App options.
8) Uso de Arrays Dinâmicos
O uso da instrução Redim nos economiza um pouco de memória e a preocupação de estourar o número limite de elementos dos arrays em nossos códigos. Entretanto, o uso de Redim provoca uma queda na performance. O ideal é usar a instrução Dim já com a quantidade de elementos que será usada. Mesmo nos casos em que você não sabe a quantidade exata, o uso de uma ordem de grandeza, com o risco de ocupar alguns espaços desnecessários da memória, compensa em função da velocidade.
9) Uso da Propriedade IsClientConnected
Sempre que sua página ASP tiver um longo processamento, use o método Response.IsClientConnected para verificar se o cliente ainda está conectado. Caso contrário, você poderá abortar o processamento evitando, assim, o consumo desnecessário de recursos do servidor.
10) Uso de Índices
Sempre que possível, faça uso de índices em seus bancos de dados. Os índices aumentam incrivelmente a performance de consultas e stored procedures acessadas via ADO em páginas ASP. O uso de índices é recomendado principalmente se você estiver usando o SQL Server.
11) Retornando Apenas o Necessário
Certifique-se que suas consultas estão retornando apenas os campos necessários. Nos casos de consultas que retornam muitos registros, tente paginar a consulta de forma que ela retorne apenas alguns registros de cada vez. Isto poderá aumentar bastante a performance de suas páginas ASP.
12) Armazenando Connections ADO em Variáveis de Aplicação ou de Sessão
Jamais armazene objetos Connection em variáveis de Aplicação ou de Sessão. O ADO já possui um mecanismo chamado pooling que otimiza o uso de instâncias de conexões. Além do mais, não é uma boa idéia armazenar instâncias de objetos em variáveis de Sessão.
13) Instancie suas Conexões diretamente na página em questão e não esqueça de atribuir Nothing a elas quando terminar o uso.
14) Fechar Explicitamente Recordsets e Connections
Tanto objetos Recordset como Connection devem ser fechados explicitamente através do método Close assim que termine o seu uso. Desta forma, você os disponibiliza para o pooling do ADO.
15) Reutilização de Recordsets e Commands
Evite a reutilização de objetos Recordset e Command. Isto não necessariamente irá aumentar a performance de suas aplicações, mas sua aplicação ficará mais clara e mais fácil de dar manutenção.
16) Utilizando o Tipo de Cursor (Cursor Type) e o Tipo de Bloqueio (Lock Type) Mais Eficientes
Use sempre o tipo de cursor e o tipo de bloqueio mais simples para a tarefa que você deseja realizar.
17) Uso de GetRows
O método GetRows atribui todo o conteúdo de um Recordset para um vetor bidimensional, cuja primeira dimensão representa os campos e a segunda representa os registros. Logo em seguida, o Recordset pode ser fechado. O uso de GetRows aumenta muito a performance de páginas ASP:
...
If objRS.EOF Then
Response.Write ("Não foram encontrados registros.")
objRS.Close
Set objRS = Nothing
Else
Dim arrRS
arrRS = objRS.GetRows
objRS.Close
Set objRS = Nothing
Dim NumRegistros
Dim NumCampos
Dim RegistroAtual
Dim CampoAtual
NumCampos = Ubound(arrRS, 1)
NumRegistros = Ubound(arrRS, 2)
Response.Write "
9) Uso da Propriedade IsClientConnected
Sempre que sua página ASP tiver um longo processamento, use o método Response.IsClientConnected para verificar se o cliente ainda está conectado. Caso contrário, você poderá abortar o processamento evitando, assim, o consumo desnecessário de recursos do servidor.
10) Uso de Índices
Sempre que possível, faça uso de índices em seus bancos de dados. Os índices aumentam incrivelmente a performance de consultas e stored procedures acessadas via ADO em páginas ASP. O uso de índices é recomendado principalmente se você estiver usando o SQL Server.
11) Retornando Apenas o Necessário
Certifique-se que suas consultas estão retornando apenas os campos necessários. Nos casos de consultas que retornam muitos registros, tente paginar a consulta de forma que ela retorne apenas alguns registros de cada vez. Isto poderá aumentar bastante a performance de suas páginas ASP.
12) Armazenando Connections ADO em Variáveis de Aplicação ou de Sessão
Jamais armazene objetos Connection em variáveis de Aplicação ou de Sessão. O ADO já possui um mecanismo chamado pooling que otimiza o uso de instâncias de conexões. Além do mais, não é uma boa idéia armazenar instâncias de objetos em variáveis de Sessão.
13) Instancie suas Conexões diretamente na página em questão e não esqueça de atribuir Nothing a elas quando terminar o uso.
14) Fechar Explicitamente Recordsets e Connections
Tanto objetos Recordset como Connection devem ser fechados explicitamente através do método Close assim que termine o seu uso. Desta forma, você os disponibiliza para o pooling do ADO.
15) Reutilização de Recordsets e Commands
Evite a reutilização de objetos Recordset e Command. Isto não necessariamente irá aumentar a performance de suas aplicações, mas sua aplicação ficará mais clara e mais fácil de dar manutenção.
16) Utilizando o Tipo de Cursor (Cursor Type) e o Tipo de Bloqueio (Lock Type) Mais Eficientes
Use sempre o tipo de cursor e o tipo de bloqueio mais simples para a tarefa que você deseja realizar.
17) Uso de GetRows
O método GetRows atribui todo o conteúdo de um Recordset para um vetor bidimensional, cuja primeira dimensão representa os campos e a segunda representa os registros. Logo em seguida, o Recordset pode ser fechado. O uso de GetRows aumenta muito a performance de páginas ASP:
...
If objRS.EOF Then
Response.Write ("Não foram encontrados registros.")
objRS.Close
Set objRS = Nothing
Else
Dim arrRS
arrRS = objRS.GetRows
objRS.Close
Set objRS = Nothing
Dim NumRegistros
Dim NumCampos
Dim RegistroAtual
Dim CampoAtual
NumCampos = Ubound(arrRS, 1)
NumRegistros = Ubound(arrRS, 2)
Response.Write "
10) Uso de Índices
Sempre que possível, faça uso de índices em seus bancos de dados. Os índices aumentam incrivelmente a performance de consultas e stored procedures acessadas via ADO em páginas ASP. O uso de índices é recomendado principalmente se você estiver usando o SQL Server.
11) Retornando Apenas o Necessário
Certifique-se que suas consultas estão retornando apenas os campos necessários. Nos casos de consultas que retornam muitos registros, tente paginar a consulta de forma que ela retorne apenas alguns registros de cada vez. Isto poderá aumentar bastante a performance de suas páginas ASP.
12) Armazenando Connections ADO em Variáveis de Aplicação ou de Sessão
Jamais armazene objetos Connection em variáveis de Aplicação ou de Sessão. O ADO já possui um mecanismo chamado pooling que otimiza o uso de instâncias de conexões. Além do mais, não é uma boa idéia armazenar instâncias de objetos em variáveis de Sessão.
13) Instancie suas Conexões diretamente na página em questão e não esqueça de atribuir Nothing a elas quando terminar o uso.
14) Fechar Explicitamente Recordsets e Connections
Tanto objetos Recordset como Connection devem ser fechados explicitamente através do método Close assim que termine o seu uso. Desta forma, você os disponibiliza para o pooling do ADO.
15) Reutilização de Recordsets e Commands
Evite a reutilização de objetos Recordset e Command. Isto não necessariamente irá aumentar a performance de suas aplicações, mas sua aplicação ficará mais clara e mais fácil de dar manutenção.
16) Utilizando o Tipo de Cursor (Cursor Type) e o Tipo de Bloqueio (Lock Type) Mais Eficientes
Use sempre o tipo de cursor e o tipo de bloqueio mais simples para a tarefa que você deseja realizar.
17) Uso de GetRows
O método GetRows atribui todo o conteúdo de um Recordset para um vetor bidimensional, cuja primeira dimensão representa os campos e a segunda representa os registros. Logo em seguida, o Recordset pode ser fechado. O uso de GetRows aumenta muito a performance de páginas ASP:
...
If objRS.EOF Then
Response.Write ("Não foram encontrados registros.")
objRS.Close
Set objRS = Nothing
Else
Dim arrRS
arrRS = objRS.GetRows
objRS.Close
Set objRS = Nothing
Dim NumRegistros
Dim NumCampos
Dim RegistroAtual
Dim CampoAtual
NumCampos = Ubound(arrRS, 1)
NumRegistros = Ubound(arrRS, 2)
Response.Write "
11) Retornando Apenas o Necessário
Certifique-se que suas consultas estão retornando apenas os campos necessários. Nos casos de consultas que retornam muitos registros, tente paginar a consulta de forma que ela retorne apenas alguns registros de cada vez. Isto poderá aumentar bastante a performance de suas páginas ASP.
12) Armazenando Connections ADO em Variáveis de Aplicação ou de Sessão
Jamais armazene objetos Connection em variáveis de Aplicação ou de Sessão. O ADO já possui um mecanismo chamado pooling que otimiza o uso de instâncias de conexões. Além do mais, não é uma boa idéia armazenar instâncias de objetos em variáveis de Sessão.
13) Instancie suas Conexões diretamente na página em questão e não esqueça de atribuir Nothing a elas quando terminar o uso.
14) Fechar Explicitamente Recordsets e Connections
Tanto objetos Recordset como Connection devem ser fechados explicitamente através do método Close assim que termine o seu uso. Desta forma, você os disponibiliza para o pooling do ADO.
15) Reutilização de Recordsets e Commands
Evite a reutilização de objetos Recordset e Command. Isto não necessariamente irá aumentar a performance de suas aplicações, mas sua aplicação ficará mais clara e mais fácil de dar manutenção.
16) Utilizando o Tipo de Cursor (Cursor Type) e o Tipo de Bloqueio (Lock Type) Mais Eficientes
Use sempre o tipo de cursor e o tipo de bloqueio mais simples para a tarefa que você deseja realizar.
17) Uso de GetRows
O método GetRows atribui todo o conteúdo de um Recordset para um vetor bidimensional, cuja primeira dimensão representa os campos e a segunda representa os registros. Logo em seguida, o Recordset pode ser fechado. O uso de GetRows aumenta muito a performance de páginas ASP:
...
If objRS.EOF Then
Response.Write ("Não foram encontrados registros.")
objRS.Close
Set objRS = Nothing
Else
Dim arrRS
arrRS = objRS.GetRows
objRS.Close
Set objRS = Nothing
Dim NumRegistros
Dim NumCampos
Dim RegistroAtual
Dim CampoAtual
NumCampos = Ubound(arrRS, 1)
NumRegistros = Ubound(arrRS, 2)
Response.Write "
12) Armazenando Connections ADO em Variáveis de Aplicação ou de Sessão
Jamais armazene objetos Connection em variáveis de Aplicação ou de Sessão. O ADO já possui um mecanismo chamado pooling que otimiza o uso de instâncias de conexões. Além do mais, não é uma boa idéia armazenar instâncias de objetos em variáveis de Sessão.
13) Instancie suas Conexões diretamente na página em questão e não esqueça de atribuir Nothing a elas quando terminar o uso.
14) Fechar Explicitamente Recordsets e Connections
Tanto objetos Recordset como Connection devem ser fechados explicitamente através do método Close assim que termine o seu uso. Desta forma, você os disponibiliza para o pooling do ADO.
15) Reutilização de Recordsets e Commands
Evite a reutilização de objetos Recordset e Command. Isto não necessariamente irá aumentar a performance de suas aplicações, mas sua aplicação ficará mais clara e mais fácil de dar manutenção.
16) Utilizando o Tipo de Cursor (Cursor Type) e o Tipo de Bloqueio (Lock Type) Mais Eficientes
Use sempre o tipo de cursor e o tipo de bloqueio mais simples para a tarefa que você deseja realizar.
17) Uso de GetRows
O método GetRows atribui todo o conteúdo de um Recordset para um vetor bidimensional, cuja primeira dimensão representa os campos e a segunda representa os registros. Logo em seguida, o Recordset pode ser fechado. O uso de GetRows aumenta muito a performance de páginas ASP:
...
If objRS.EOF Then
Response.Write ("Não foram encontrados registros.")
objRS.Close
Set objRS = Nothing
Else
Dim arrRS
arrRS = objRS.GetRows
objRS.Close
Set objRS = Nothing
Dim NumRegistros
Dim NumCampos
Dim RegistroAtual
Dim CampoAtual
NumCampos = Ubound(arrRS, 1)
NumRegistros = Ubound(arrRS, 2)
Response.Write "
13) Instancie suas Conexões diretamente na página em questão e não esqueça de atribuir Nothing a elas quando terminar o uso.
14) Fechar Explicitamente Recordsets e Connections
Tanto objetos Recordset como Connection devem ser fechados explicitamente através do método Close assim que termine o seu uso. Desta forma, você os disponibiliza para o pooling do ADO.
15) Reutilização de Recordsets e Commands
Evite a reutilização de objetos Recordset e Command. Isto não necessariamente irá aumentar a performance de suas aplicações, mas sua aplicação ficará mais clara e mais fácil de dar manutenção.
16) Utilizando o Tipo de Cursor (Cursor Type) e o Tipo de Bloqueio (Lock Type) Mais Eficientes
Use sempre o tipo de cursor e o tipo de bloqueio mais simples para a tarefa que você deseja realizar.
17) Uso de GetRows
O método GetRows atribui todo o conteúdo de um Recordset para um vetor bidimensional, cuja primeira dimensão representa os campos e a segunda representa os registros. Logo em seguida, o Recordset pode ser fechado. O uso de GetRows aumenta muito a performance de páginas ASP:
...
If objRS.EOF Then
Response.Write ("Não foram encontrados registros.")
objRS.Close
Set objRS = Nothing
Else
Dim arrRS
arrRS = objRS.GetRows
objRS.Close
Set objRS = Nothing
Dim NumRegistros
Dim NumCampos
Dim RegistroAtual
Dim CampoAtual
NumCampos = Ubound(arrRS, 1)
NumRegistros = Ubound(arrRS, 2)
Response.Write "
14) Fechar Explicitamente Recordsets e Connections
Tanto objetos Recordset como Connection devem ser fechados explicitamente através do método Close assim que termine o seu uso. Desta forma, você os disponibiliza para o pooling do ADO.
15) Reutilização de Recordsets e Commands
Evite a reutilização de objetos Recordset e Command. Isto não necessariamente irá aumentar a performance de suas aplicações, mas sua aplicação ficará mais clara e mais fácil de dar manutenção.
16) Utilizando o Tipo de Cursor (Cursor Type) e o Tipo de Bloqueio (Lock Type) Mais Eficientes
Use sempre o tipo de cursor e o tipo de bloqueio mais simples para a tarefa que você deseja realizar.
17) Uso de GetRows
O método GetRows atribui todo o conteúdo de um Recordset para um vetor bidimensional, cuja primeira dimensão representa os campos e a segunda representa os registros. Logo em seguida, o Recordset pode ser fechado. O uso de GetRows aumenta muito a performance de páginas ASP:
...
If objRS.EOF Then
Response.Write ("Não foram encontrados registros.")
objRS.Close
Set objRS = Nothing
Else
Dim arrRS
arrRS = objRS.GetRows
objRS.Close
Set objRS = Nothing
Dim NumRegistros
Dim NumCampos
Dim RegistroAtual
Dim CampoAtual
NumCampos = Ubound(arrRS, 1)
NumRegistros = Ubound(arrRS, 2)
Response.Write "
15) Reutilização de Recordsets e Commands
Evite a reutilização de objetos Recordset e Command. Isto não necessariamente irá aumentar a performance de suas aplicações, mas sua aplicação ficará mais clara e mais fácil de dar manutenção.
16) Utilizando o Tipo de Cursor (Cursor Type) e o Tipo de Bloqueio (Lock Type) Mais Eficientes
Use sempre o tipo de cursor e o tipo de bloqueio mais simples para a tarefa que você deseja realizar.
17) Uso de GetRows
O método GetRows atribui todo o conteúdo de um Recordset para um vetor bidimensional, cuja primeira dimensão representa os campos e a segunda representa os registros. Logo em seguida, o Recordset pode ser fechado. O uso de GetRows aumenta muito a performance de páginas ASP:
...
If objRS.EOF Then
Response.Write ("Não foram encontrados registros.")
objRS.Close
Set objRS = Nothing
Else
Dim arrRS
arrRS = objRS.GetRows
objRS.Close
Set objRS = Nothing
Dim NumRegistros
Dim NumCampos
Dim RegistroAtual
Dim CampoAtual
NumCampos = Ubound(arrRS, 1)
NumRegistros = Ubound(arrRS, 2)
Response.Write "
16) Utilizando o Tipo de Cursor (Cursor Type) e o Tipo de Bloqueio (Lock Type) Mais Eficientes
Use sempre o tipo de cursor e o tipo de bloqueio mais simples para a tarefa que você deseja realizar.
17) Uso de GetRows
O método GetRows atribui todo o conteúdo de um Recordset para um vetor bidimensional, cuja primeira dimensão representa os campos e a segunda representa os registros. Logo em seguida, o Recordset pode ser fechado. O uso de GetRows aumenta muito a performance de páginas ASP:
...
If objRS.EOF Then
Response.Write ("Não foram encontrados registros.")
objRS.Close
Set objRS = Nothing
Else
Dim arrRS
arrRS = objRS.GetRows
objRS.Close
Set objRS = Nothing
Dim NumRegistros
Dim NumCampos
Dim RegistroAtual
Dim CampoAtual
NumCampos = Ubound(arrRS, 1)
NumRegistros = Ubound(arrRS, 2)
Response.Write "
17) Uso de GetRows
O método GetRows atribui todo o conteúdo de um Recordset para um vetor bidimensional, cuja primeira dimensão representa os campos e a segunda representa os registros. Logo em seguida, o Recordset pode ser fechado. O uso de GetRows aumenta muito a performance de páginas ASP:
...
If objRS.EOF Then
Response.Write ("Não foram encontrados registros.")
objRS.Close
Set objRS = Nothing
Else
Dim arrRS
arrRS = objRS.GetRows
objRS.Close
Set objRS = Nothing
Dim NumRegistros
Dim NumCampos
Dim RegistroAtual
Dim CampoAtual
NumCampos = Ubound(arrRS, 1)
NumRegistros = Ubound(arrRS, 2)
Response.Write "
... If objRS.EOF Then Response.Write ("Não foram encontrados registros.") objRS.Close Set objRS = Nothing Else Dim arrRS arrRS = objRS.GetRows objRS.Close Set objRS = Nothing Dim NumRegistros Dim NumCampos Dim RegistroAtual Dim CampoAtual NumCampos = Ubound(arrRS, 1) NumRegistros = Ubound(arrRS, 2) Response.Write "
" & arrRS(CampoAtual, RegistroAtual) & Ä" | " Next Response.Write "
18) Conexões Sem DSN
As conexões sem DSN normalmente são mais rápidas que as conexões usando DSN de sistema, que por sua vez são mais rápidas que as conexões usando DSN de arquivo.
As conexões em DSN são aquelas cujos parâmetros de conexão são passados diretamente no momento da criação da conexão.
19) Uso do Access
Se você estiver usando o Access como base de dados, não espere grandes ganhos de performance já que ele é um banco de dados baseado em arquivo e não é cliente servidor.
20) Uso do Provider OLEDB SQL (SQLOLEDB)
Se você estiver usando o SQL Server, use o provider SQLOLEDB para aumentar a performance de sua aplicação.
21) Uso do arquivo ADOVBS.inc
Evite o uso do arquivo ADOVBS.inc que contém as declarações das constantes usadas pelo ADO. Ao invés disso, declare apenas as constantes que você irá usar ou coloque a seguinte referência em seu arquivo global.asa:
20) Uso do Provider OLEDB SQL (SQLOLEDB)
Se você estiver usando o SQL Server, use o provider SQLOLEDB para aumentar a performance de sua aplicação.
21) Uso do arquivo ADOVBS.inc
Evite o uso do arquivo ADOVBS.inc que contém as declarações das constantes usadas pelo ADO. Ao invés disso, declare apenas as constantes que você irá usar ou coloque a seguinte referência em seu arquivo global.asa:
21) Uso do arquivo ADOVBS.inc
Evite o uso do arquivo ADOVBS.inc que contém as declarações das constantes usadas pelo ADO. Ao invés disso, declare apenas as constantes que você irá usar ou coloque a seguinte referência em seu arquivo global.asa:
ou
ou uma versão superior.
22) Uso de um Objeto Connection Separado Quando Trabalhar com Recordsets
Se você estiver usando um único Recordset, passe a string de conexão diretamente para a propriedade ActiveConnection:
objRS.ActiveConnection = Application("ConexaoString")
objRS.ActiveConnection = Application("ConexaoString")
Quando você estiver utilizando vários Recordsets, crie um objeto Connection e use-o na propriedade Active Connection:
... Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open Application("ConexaoString") Dim intContador For intContador = 1 To 10 Set objRS = Server.CreateObject("ADODB.Recordset") Set objRS.ActiveConnection = objConnection objRS.CursorType = 0 ‘adOpenForwardOnly objRS.LockType = 1 ‘adLockReadOnly objRS.Open Application("SQL") If objRS.EOF Then Response.Write "Não Foraam Encontrados Registros" Else ‘Escreve o Conteúdo ... End If objRS.Close Set objRS = Nothing Next objConn.Close Set objConn = Nothing ...