[l-desarrollo] Problema llenando base de datos Mysql con perl.

Alejandro Imass ait at linuxmail.org
Wed Apr 9 09:14:29 CDT 2003


Tienes razón si vas a reutilizar el query, pero creo que usar bind variables para queries one-off pareciera un overkill. ¿es realmente más eficiente para una sola ejecución?

De cualquier manera hacer do() en un insert es indeseable y siempre se debería usar prepare and execute, entre otras razones, porque es la única forma de obtener un identificador de registro (oid, rowid, etc.). Confiezo, sin embargo, que he usado do() muchas veces.


----- Original Message -----
From: Ernesto Hernandez-Novich <emhn at telcel.net.ve>
Date: Wed, 9 Apr 2003 08:20:23 -0400 (VET)
To: <l-desarrollo at linux.org.ve>
Subject: Re: [l-desarrollo] Problema llenando base de datos Mysql con perl.

> 
> Primero lo primero.
> 
> Esto
> 
> $x = "valor para bar"; $y = "valor para baz";
> $query = "insert into foo ( bar, baz ) values ( $x, $y )";
> $sth = $dbh->prepare($query);
> $sth->execute;
> 
> es _lento_, ineficiente en el uso de la memoria y doloroso para
> cualquier manejador de base de datos. Lo correcto es utilizar variables
> posicionales (bind variables)
> 
> $x = "valor para bar"; $y = "valor para baz";
> $query = "insert into foo ( bar, baz ) values ( ? , ? )";
> $sth = $dbh->prepare($query);
> $sth->execute($x,$y);
> 
> pues le permite al manejador analizar y optimizar el query _una_ sola
> vez, mantenerlo en su cache propio y simplemente sustituir las variables
> posicionales con diferentes valores cada vez. Haz un ejemplo simple para
> convencerte
> 

-- 
______________________________________________
http://www.linuxmail.org/
Now with e-mail forwarding for only US$5.95/yr

Powered by Outblaze
------------------------------------------------------------------------
Enviar e-mail a <majordomo at pm.org> colocando en el cuerpo:
"UNSUBSCRIBE caracas-pm-list" para desuscribirse.
"INFO caracas-pm-list" para conocer las reglas de etiqueta.
------------------------------------------------------------------------



More information about the caracas-pm mailing list