MYSQL X VELOCIDADE C/ 2.600.000 REGISTROS

MARIOZNETO 28/05/2007 14:20:02
#218507
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!


DANIELCPAETE 28/05/2007 14:58:00
#218519
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
USUARIO.EXCLUIDOS 28/05/2007 14:58:28
#218520
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 "*".


MARIOZNETO 28/05/2007 15:05:35
#218522
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+
SILVERDRAGON 28/05/2007 15:13:28
#218524
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....
LCSD 28/05/2007 15:39:40
#218531
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.....



PROGRAMADORVB6 28/05/2007 15:43:28
#218532
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

MARIOZNETO 28/05/2007 15:48:50
#218534
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+
MARIOZNETO 28/05/2007 15:52:46
#218537
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+
MARIOZNETO 28/05/2007 15:54:29
#218538
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+
SILVERDRAGON 28/05/2007 16:08:33
#218539
Hhehehehe me desculpa Mario me expressei mal,

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
Página 1 de 2 [12 registro(s)]
Tópico encerrado , respostas não são mais permitidas