¿Por qué la doctrina (1.2) usa WHERE IN
en lugar de LIMIT
?¿Por qué la doctrina usa DONDE EN lugar de LÍMITE?
este código:
Doctrine_Query::create()
->from('Table t')
->limit(10)
->getSqlQuery();
devoluciones algo como esto:
SELECT t.id_table AS t__id_table FROM table AS t WHERE t__id_table IN (1,2,3,4,10,12,18,20,21,25);
lugar de esto:
SELECT t.id_table AS t__id_table FROM table AS t LIMIT 10;
Este behaivor es igual para cualquier valor LIMIT
. Esto genera consultas muy largas para valores altos de LIMIT
.
Pregunta de bonificación: ¿Cómo sabe Doctrine, qué identificadores usar? (¿Al enviar otra consulta a DB?)
¿Qué back-end de base de datos está utilizando? –
@Matt Gibson: MySQL –
Impar; Acabo de hacer algo similar con Doctrine de Symfony 1.4, que creo que es la versión 1.2.3, y usa la cláusula LIMIT para MySQL, como era de esperar. –