in reply to Re: SQL::Statement limit clause with placeholders
in thread SQL::Statement limit clause with placeholders
Actually, the LIMIT clause is applied before the data are retrieved, as it can influence the execution plan. Something with a LIMIT above the number of records in the table shouldn't use indexes, whereas something with a LIMIT of 1 should. See 7.2.12. How MySQL Optimizes LIMIT.
My normal rule of thumb is that placeholders work on values (field values, or values derived from them in the case of some where clauses), not parameters (limit clause, 'DESC' in the case of ordering), names (field names, table names, schema names, etc). Unfortunately, the mysql documentation doesn't seem to cover what it's allowed to replace. (There's a section in the documentation 13.7. SQL Syntax for Prepared Statements, and the closest I can find is the explaination of the various data types for placeholders in 24.2.5. C API Prepared Statement Data types)
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: SQL::Statement limit clause with placeholders
by dragonchild (Archbishop) on Jun 03, 2005 at 14:59 UTC | |
|
Re^3: SQL::Statement limit clause with placeholders
by jZed (Prior) on Jun 03, 2005 at 15:01 UTC | |
by jhourcle (Prior) on Jun 03, 2005 at 15:23 UTC |