[R] RMySQL question
Aaron J. Mackey
amackey at pcbi.upenn.edu
Thu Jun 3 16:50:55 CEST 2004
Yes, of course paste() works; the question is about getting more
efficient query execution by preparing statements with placeholders in
advance (as opposed to paste()-ing together a new SQL statement for
every single statement execution, and requiring the database to
reinterpret/recompile it every time).
The response about prepared statements only available in 4.1 was a bit
odd to me at first, since in the Perl DBI world we've been preparing
and binding for along time now with DBD::mysql; in that case though,
the optimization is really one of DBI's, not MySQL's. 4.1 will bring
that level of optimization to the database.
So to truly answer the OP's question, there is no prepare/bind facility
in RMySQL, nor does there need to be one to get the same level of
performance as seen in DBD::mysql (but in the future, both DBD::mysql
and RMySQL may get even faster if they start using the MySQL API for
prepared statements). The additional affect of proper quoting provided
by the DBI's binding facility is available to you via RMySQL's quote()
function (if memory serves me right ... it's been awhile).
-Aaron
On Jun 3, 2004, at 9:46 AM, Wolski wrote:
> ?paste
> works fine for me.
>
> On 6/3/2004 at 9:32 AM Sean Davis wrote:
>
>>>> In perl DBI, there is a method for preparing sql commands with
>>>> wildcards and
>>>> then executing them with parameter bindings. Is there a way to do
>>>> this
>>>> within RMySQL? I would like to be able to look up values in a table
>>>> based
>>>> on a key supplied from R.
More information about the R-help
mailing list