MYSQL X VELOCIDADE C/ 2.600.000 REGISTROS
Estou usando o MySql versão 5.0 e o conector 3.51. rodando em uma máquina:
Pentium 4 - 3.6 Ghz com 2gb de ram disco Scsi 14,200 rpm, estou trabalahndo com 2,6 milhões de registro na tabela, ao fazer uma pesquisa ele demora mais ou menos 12 segundos, alguém pode me ajudar a melhorar isso? Alguém tem alguma dica ???
estou usando este código:
Set cnn = New ADODB.Connection
cnn.ConnectionString = "Driver={MySQL ODBC 5.0.1 Driver};Server=localhost;Database=Clientes;uid=root;pwd=;"
cnn.Open
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open "SELECT * FROM Tabela", cnn, adOpenDynamic, adLockOptimistic
Obrigado!
http://www.freevbcode.com/ShowCode.asp?ID=6366
Você realmente precisa trazer todos os registros e todos os campos dessa tabela? Seria interessante você colocar um filtro com uma cláusula "Where" e também informar quais os campos que você irá necessitar, retirando o "*".
Citação:DANIELCPAETE escreveu:
Bom primeiro gostaria de dizer que vc é muito corajoso ao manter 2.600.000,00 registros em uma base mysql mas vamos la você ja tentou utilizar a libmysql.dll para fazer a sua conexão ao invez de odbc
http://www.freevbcode.com/ShowCode.asp?ID=6366
Vou dar uma olhada Amigo!
Obrigado!
Citação:HORESTHY escreveu:
Cara,
Você realmente precisa trazer todos os registros e todos os campos dessa tabela? Seria interessante você colocar um filtro com uma cláusula Where e também informar quais os campos que você irá necessitar, retirando o * .
Sim eu uso "select nome, numero from tabela where numero=10"
Mesmo assim demora um pouco, cerca de 12 segundos...
Falow... T+
Eu ja passei por isso, e resolvi fazendo da seguinte maneira:
1º Quando o cliente clica no botão para visualizar os pedidos ele mostra um grid em branco...
2º Ai eu criei um formulario para Filtrar os registros, ai ele pode visualizar os pedidos diarios ou o intervalo de tempo que ele deseja ver.
Aqui minha busca baixou para 1.3 segundos....
Citação:MARIOZNETO escreveu:
Olá para Todos!
Estou usando o MySql versão 5.0 e o conector 3.51. rodando em uma máquina:
Pentium 4 - 3.6 Ghz com 2gb de ram disco Scsi 14,200 rpm, estou trabalahndo com 2,6 milhões de registro na tabela, ao fazer uma pesquisa ele demora mais ou menos 12 segundos, alguém pode me ajudar a melhorar isso? Alguém tem alguma dica ???
estou usando este código:Set cnn = New ADODB.Connection
cnn.ConnectionString = Driver={MySQL ODBC 5.0.1 Driver};Server=localhost;Database=Clientes;uid=root;pwd=;
cnn.Open
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open SELECT * FROM Tabela , cnn, adOpenDynamic, adLockOptimistic
Obrigado!
Esta demora é até aceitável considerando, que vc esta exibindo em media 216.666 registro por segundo,
Temos casos aki no vb, q para 50.000 registros demora-se 3 segundos....entaum baseado no volume q vc esta carregando ...esta consideravelmente bom....
Sugiro a vc uma interatividade com o usuário, para q ele naum perceba a demora, como por exemplo uma progressbar, mudar o cursor do mouse (para ele naum achar q travou) e outras cocitas.mas.....
tire as suas conclusões.
http://www.vbmania.com.br/vbmania/vbmdetail.php?varID=3516&TxtSearch=velocidade&CmbSort=&varPagina=1
Citação:PROGRAMADORVB6 escreveu:
mario lembra do que postou aqui há algum tempo ?
tire as suas conclusões.
http://www.vbmania.com.br/vbmania/vbmdetail.php?varID=3516&TxtSearch=velocidade&CmbSort=&varPagina=1
Este exemplo compara usando dao.
Falow... T+
Esta demora é até aceitável considerando, que vc esta exibindo em media 216.666 registro por segundo,
Temos casos aki no vb, q para 50.000 registros demora-se 3 segundos....entaum baseado no volume q vc esta carregando ...esta consideravelmente bom....
Sugiro a vc uma interatividade com o usuário, para q ele naum perceba a demora, como por exemplo uma progressbar, mudar o cursor do mouse (para ele naum achar q travou) e outras cocitas.mas.....
Sim meu amigo, Mudar o cursor é mais viavel que um progressbar, pois não quero usar doevents, pois duplica o tempo da pesquisa....
Falow... T+
Citação:SILVERDRAGON escreveu:
Amigo,
Eu ja passei por isso, e resolvi fazendo da seguinte maneira:
1º Quando o cliente clica no botão para visualizar os pedidos ele mostra um grid em branco...
2º Ai eu criei um formulario para Filtrar os registros, ai ele pode visualizar os pedidos diarios ou o intervalo de tempo que ele deseja ver.
Aqui minha busca baixou para 1.3 segundos....
Apenas para ele selecionar os dados na tabela ele demora isto!!!
Se for carregar tudo isso o cliente dorme.... he he..
Falow... T+
Na base de dados possuo quase 800.000 registros e ai demora 1.3 segundos..
+ fazendo um teste aqui de selecionar pedidos de janeiro ate agora faz em 0.2 aproximadamente segundos.....
flw