Boax ,
Eu estou fazendo um programa e tenho de fazer um select a uma base de dados gigante msm porem esta em rede interna demora cerca de 1 minuto mas para se usar na net deve demorar um tempao msm queria saber se há alguma maneira de eu puder melhorar a ligaçao a db para ser um pouco mais rapida ! Se alguem souber ou que tenhe ideias força ai poste aqui
A ligacao que uso é :
<%
VAR_CONN = "DRIVER={SQL SERVER};SERVER=***; UID=****;Pwd=*****;"
VAR_CONN = VAR_CONN & "DATABASE=dni;"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.CommandTimeout = 0
Conn.Open VAR_CONN
set rs=Server.CreateObject("ADODB.recordset")
%>
Leia os tópicos abaixo:
http://forum.wmonlin...howtopic=101576http://forum.wmonlin...?showtopic=7579vc vai constatar que quandos e trata de performace, tudo tem sua parcela e alguns detalhes que parecem "pequenos" fazem uma enorme diferença.
Nao sei se isso faz mta diferença. Outra coisa eh nunca utilizar
SELECT * FROM NOME_DA_TABELA
com certeza, faz uma diferença enorme.
pois o SELECT lhe irá retornar TODOS (*) os dados ao invés so do que vc precisa e isso significa muito em tempo.
ao invés de usar:
SELECT * FROM TABELA
use sempre assim por ex.:
SELECT Id,Nome,Email FROM TABELA
mesmo que vc precise de TODOS os dados, especificando-os ao inves d usar o "FROM *" vc tem um resultado + satisfatório em termos de velocidade..
Fique bem atento (como o amigo acima citou) em sua estrutura e organização de Banco de Dados.
imagine um ex.:2 tabelas em seu BD:
* uma tem os campos: Id, Nome, Email
* outra tem os campos: Id, Nome, Email, CPF, RG, Endereco, Tel
Em qual vc acha q a busca será realziada + rapidamente?Logicamente, no segundo ex., pois a instrução percorrerá buscando e trazendo informacões em qtde de campos menores q a do outro ex.
partindo dessa lógica, muito coisa faz diferença em termos de "Estrutura de Banco de Dados" ao resultado final e velocidade do mesmo em suas consutas.