elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  mysql: duda de rendimeinto
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: mysql: duda de rendimeinto  (Leído 2,955 veces)
bomba1990


Desconectado Desconectado

Mensajes: 395



Ver Perfil WWW
mysql: duda de rendimeinto
« en: 25 Junio 2010, 19:07 »

hola, planteo mi duda a ver si laguine me puede ayudar, leevo trabajando un tiempito con mysql y me a tocado hacer un programa que tiene que trabajar con grandes cantidades de datos y mysql y para mejorar el rendimeinto pido ayuda.

cuando meto valores en la base de datos los meto uno por uno, es decir meto insert int... pepe, insert int... pepe2. insert int... pepe3, insert int... pepe4 y haci por el estilo hasta que se termine, ahora bien me pregunto si es mejor o mas rapido hacer que el programa los relacione todos y despues los meta de un solo golpe, ej: insert into pepe,pep1,pepe2,pep3, ...

otra duda que tengo es que cada ves que meto un valor hago una consulta antes a ver si el valor existe o no, pero por hay lei en este foro que habia una manera de meterlo sin necesidad de consultar si existe o no. Espero que me puedan ayudar y gracias de ntemano.


En línea

"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.704


WOS & Khan & Calero LDN


Ver Perfil WWW
Re: mysql: duda de rendimeinto
« Respuesta #1 en: 25 Junio 2010, 21:26 »

Si mal no recuerdo, para un INSERT multiple es así:
Código
  1. INSERT INTO tblPoC (id, nombre)
  2. VALUES (1, 'Alex'),
  3.       (2, 'Andres'),
  4.       (3, 'Oscar'),
  5.       (4, 'Pablo'),
  6.       (5, 'Felipe');


En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
bomba1990


Desconectado Desconectado

Mensajes: 395



Ver Perfil WWW
Re: mysql: duda de rendimeinto
« Respuesta #2 en: 26 Junio 2010, 20:35 »

si tienes razon a lo que me refiero es que que opcion es mejor caundo tienes que meter grandes cantidades de datos de un solo golpe en una base de datos meter una por una o meterlas todo con un insert multiple
En línea

"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.704


WOS & Khan & Calero LDN


Ver Perfil WWW
Re: mysql: duda de rendimeinto
« Respuesta #3 en: 26 Junio 2010, 22:04 »

Dependiendo de donde están situadas esa gran cantidad de datos.
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: mysql: duda de rendimeinto
« Respuesta #4 en: 26 Junio 2010, 22:39 »

si tienes razon a lo que me refiero es que que opcion es mejor caundo tienes que meter grandes cantidades de datos de un solo golpe en una base de datos meter una por una o meterlas todo con un insert multiple
Creo que siempre es mejor plantear una sola querie que no varias, pues el interprete de SQL no tiene que procesar una y otra vez lo mismo, si no que lo hace una vez.

Saludos
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.704


WOS & Khan & Calero LDN


Ver Perfil WWW
Re: mysql: duda de rendimeinto
« Respuesta #5 en: 26 Junio 2010, 23:11 »

Lastima que eso solo se pueda en MSSQL y no en MySQL... <en MySQL no se pueden hacer varias querys por consulta> :silbar:
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
bomba1990


Desconectado Desconectado

Mensajes: 395



Ver Perfil WWW
Re: mysql: duda de rendimeinto
« Respuesta #6 en: 27 Junio 2010, 19:04 »

Lastima que eso solo se pueda en MSSQL y no en MySQL... <en MySQL no se pueden hacer varias querys por consulta> :silbar:

no se pueden hacer varias querys por consulta, pero se puede hacer una sola consulta como tu dijiste mas arrbia para meter valores multiples. Y ha eso es lo qu eme refiero si es mejor hacer una consulta con multiple insercion o ir metiendo uno por uno en consultas diferentes.
En línea

"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve
bomba1990


Desconectado Desconectado

Mensajes: 395



Ver Perfil WWW
Re: mysql: duda de rendimeinto
« Respuesta #7 en: 1 Julio 2010, 18:39 »

ya cosnegui la respuesta d elo que queria saber gracias igual por ayudar. si uso inert ignore into, se meten los datos y si existen no da error de entrada duplicada
En línea

"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines