[C con Clase] <MYSQL> optimizar consulta

Pablo Alejandro Herrero pablusplus en gmail.com
Jue Ago 11 23:40:58 CEST 2011


Hola, en alguna época he trasteado con ambos, PHP y MySQL... No puedo
probarlo ahora pero estimo que demorarán lo mismo o casi. para el caso del
bucle, el parser de peticiones tiene que buscar el elemento coincidente en
la DB para que (si no está) se inserte el que se pasó en la petición.
Haciendo una sola petición masiva, está debe ser "atomizada" por el parser
para poder procesar cada ítem. Ahora, con el bucle estarías haciéndolo más
eficiente: estás gastando tiempo en armar una solicitud masiva que el
analizador del DBMS tiene que desarmar: doble gasto de tiempo. El bucle te
ahorra ese problema. Otra pérdida de tiempo: armar la solicitud masiva te
implica tener que esperar todos los datos hasta que se completa el query,
sin mencionar que si estuvieras lidiando con consultas online -remotas-; no
es lo mismo perder una query con un registro que una de 1000, ya que en caso
de detectar una petición con error, cuaquier DBMS evita procesarla... Si de
todas formas llegas a ver que pasa realmente, mandá mail!! Así, me desburro
;-) y por ahí se le puede dar una mano a otro... o puedo confirmar si me
funciona el coco todavía! jaja

Suerte!



El 11 de agosto de 2011 17:12, Gastón Borysiuk
<gaston.borysiuk en gmail.com>escribió:

> Hola Listeros
>
>
> Bueno como me dijo el moderador que no tienen la lista de mysql hago la
> consulta acá.
>
> Tengo un dilema, no tiene que ver con C, es en php, pero al margen
> explico:
>
> Yo realizo consultas mediante SOAP a un servidor, me devuelve los datos
> en un array.
>
> Yo para mostrar estos registros los tengo que meter en la DB PERO no
> todos los registros se tienen que mostrar solo los ids que coincidan en
> mi DB. Supongamos de 1000 resultados solo tengo relacionados con mi
> sistema unos 350.
>
> hice un bucle que haga un insert solo si existe, una onda así:
>
>
> INSERT INTO tabla_compartida (campo1, campo2, campo3) SELECT campo1,
> campo2, campo3 FROM tabla_interna WHERE id LIKE array_soap[$a];
>
>
> Claro, esto me hace demorar mucho la consulta.
>
> Estaba pensando en armar un solo query, como si fuera un mysql dump y
> que ejecute todo de una, pero no se si no me va a petar el mysql a los
> caños, si va a ser mas rápido.
>
>
> Si a alguien se le ocurre algo que me chifle por favor.
>
>
>
> Gracias, Saludos!
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20110811/07fcde99/attachment.html>


Más información sobre la lista de distribución Cconclase