Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

insert lento desde Visual con Mysql

Estas en el tema de insert lento desde Visual con Mysql en el foro de Visual Basic clásico en Foros del Web. Hola:mi problema es el siguiente: estoy haciendo un proyecto en Visual Basic 6 con Mysql. Necesito insertar muchos registros juntos, el usuario decide insertar registros ...
  #1 (permalink)  
Antiguo 20/03/2009, 18:52
Avatar de sadas55  
Fecha de Ingreso: marzo-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
insert lento desde Visual con Mysql

Hola:mi problema es el siguiente: estoy haciendo un proyecto en Visual Basic 6 con Mysql. Necesito insertar muchos registros juntos, el usuario decide insertar registros de 1 a n (puede ser de 1 a 1.000.000) el tema es que probe insertando con recordset, for i , do while , procedimiento almacenado y con todos se vuelve muy lento es decir tarda mucho en generar los espacios asignado por el usuairo en la Base de datos, antes lo tenia en access y funcionaba perfecto , ahora que migre a esta base(MySql) tengo este problema, Alguien sabe como solucionarlo?????
Gracias de antemano
  #2 (permalink)  
Antiguo 20/03/2009, 20:55
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Respuesta: insert lento desde Visual con Mysql

Hola, pone el codigo sino es imposible saber lo que estas haciendo...

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #3 (permalink)  
Antiguo 21/03/2009, 11:02
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 5 meses
Puntos: 19
Respuesta: insert lento desde Visual con Mysql

Teoricamente estas haciendo un Add en el recorset no?...

En vez de hacer eso, hace un INSERT INTO directo, podes usar un for tambien de esa forma va a ser muy rapido..


Probablemente por cada registro estas abriendo y cerrando la conexion, eso tambien hace demorar.
  #4 (permalink)  
Antiguo 21/03/2009, 12:58
Avatar de sadas55  
Fecha de Ingreso: marzo-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: insert lento desde Visual con Mysql

aca les paso el ejemplo , lo probe de 3 formas ahora se las muestro y me dicen:
1) Procedimiento almacenado
Dim CadenaMySql As String
Set Cmd = New ADODB.Command
Cmd.ActiveConnection = Cnn
Cmd.CommandType = adCmdStoredProc
For i = 1 To Configuracion.txtTotalTiros.Text
CadenaMySql = "SN_CargarTotalTiros('" & i & "')"
Cmd.CommandText = CadenaMySql
Cmd.Execute
Next i
2) recordset
Set rs = New ADODB.Recordset
SQL = "select Numerotiro"
SQL = SQL & " from SN_Coincidencias "
rs.Open SQL, Cnn, adOpenKeyset, adLockOptimistic, adCmdText
For i = 1 To Configuracion.txtTotalTiros.Text --> texbox (1.000.000)
rs.AddNew
rs!numeroTiro = i
rs.Update
Next i
rs.Close
Set rs = Nothing
3)
For i = 1 To Configuracion.txtTotalTiros.Text
Cnn.Execute ("insert into sn_coincidencias (numeroTiro) values (" & i & ")")
Next i

Las 3 formas son muy lentas en Mysql las probe en access y funcionan perfecto
Gracias de antemano

Última edición por sadas55; 21/03/2009 a las 13:59 Razón: me faltaronb datos
  #5 (permalink)  
Antiguo 24/03/2009, 10:36
Avatar de sadas55  
Fecha de Ingreso: marzo-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: insert lento desde Visual con Mysql

HOla, Ayuda Pleaseeeeeeeeeee
  #6 (permalink)  
Antiguo 24/03/2009, 11:45
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 5 meses
Puntos: 19
Respuesta: insert lento desde Visual con Mysql

No se decirte...

Entra en la consola de mysql, la comun la que es por DOS... Y pone un insert y fijate cuando te dice que tardo en ejecutarlo... Agarra y fijate si por ejemplo vos estas mandando 100 insert, conta cuanto tarda en hacer esos 100 insert desde vb... entonces multiplica lo que te dijo la consola por 100 y ahi fijate si es el mismo tiempo...

Puede que sea solo por MySQL...

Se entendio?
  #7 (permalink)  
Antiguo 25/03/2009, 09:38
Avatar de sadas55  
Fecha de Ingreso: marzo-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: insert lento desde Visual con Mysql

Problema solucionado: hago un insert y a travez de un for le voy concatenando todos los valores y despues se lo inserto seria asi
insert ="insert into tabla (Numero) values (" & i &")"
for i = 1 to 1000
insert = insert & ","(i)
next i
cnn.executed(insert)
Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:46.