Autor
|
Tema: mysql: duda de rendimeinto (Leído 3,856 veces)
|
bomba1990
|
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
|
|
|
|
Shell Root
|
Si mal no recuerdo, para un INSERT multiple es así: INSERT INTO tblPoC (id, nombre) VALUES (1, 'Alex'), (2, 'Andres'), (3, 'Oscar'), (4, 'Pablo'), (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
|
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
|
|
|
|
Shell Root
|
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
Mensajes: 2.021
Actualizate o muere!
|
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
|
Lastima que eso solo se pueda en MSSQL y no en MySQL... <en MySQL no se pueden hacer varias querys por consulta>
|
|
|
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
|
Lastima que eso solo se pueda en MSSQL y no en MySQL... <en MySQL no se pueden hacer varias querys por consulta> 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
|
|
|
|
bomba1990
|
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
|
|
|
|
|
|