|
|
|
|
|
Dicas
|
|
Visual Basic (Banco de Dados)
|
|
|
Título da Dica: Dicas para melhorar o desempenho no acesso a dados com ADO e SQL
|
|
|
|
Postada em 24/8/2003 por Ð@®l@n
1-) Ao declarar suas variáveis objetos com ADO evite a seguinte declaração :
Dim rst as NEW ADODB.Recorset Ao invés , prefira usar o seguinte código:
Dim rst as ADODB.Recordset Set rst = New ADODB.Recordset Com isto você esta evitando problemas com a memória e comportamentos estranhos quando liberar o recordset. ( set rst=nothing )
2-) Somente abra um recordset no momento necessário . Evite abrir os recordsets quando da carga do formulário . Assim se seu formulário possui vários controles que necessitam carga de dados ( combobox , listbox , etc..) veja se é possível carregar os dados quando o usuário clicar no controle ou em um botão apropriado.
3-) Em um Grid ou em uma lista ( listbox, combobox ) não carregue todos os registros da base de dados ; procure carregar uma quantidade aceitável. Assim se sua base de dados possuir 3000 registros procure carregar 10% deste total com um máximo de 100/200 registros.
4-) Ao usar uma instrução SQL para gerar um recordset evite a sintaxe:
SELECT * FROM Arquivo
Isto faz com que seja feita duas consultas a base de dados.
Prefira especificar os nomes dos campos
SELECT nome, endereco, cidade, cep FROM CLIENTES
5-) Se for realmente necessário percorrer um recordset evite o código: WHILE NOT Arquivo.EOF processa WEND Prefira usar o seguinte código:
Dim i as Integer Dim reg as Integer reg = Arquivo.Recordset.Recordcount WHILE i <> reg processa x = x+1 WEND Este código é mais eficiente pois o programa não tem que verificar a todo momento se chegamos ao fim do arquivo.(EOF). (Obs: não esqueça de mover(movenext) o ponteiro do recordset!)
|
|
|
|
|