Perché doctrine (1.2) utilizza WHERE IN
anziché LIMIT
?Perché la dottrina usa WHERE IN invece di LIMIT?
Questo codice:
Doctrine_Query::create()
->from('Table t')
->limit(10)
->getSqlQuery();
ritorni qualcosa di simile:
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);
Invece di questo:
SELECT t.id_table AS t__id_table FROM table AS t LIMIT 10;
Questa behaivor è lo stesso per qualsiasi valore LIMIT
. Ciò genera query molto lunghe per i valori alti LIMIT
.
Domanda bonus: come sa Doctrine, quali ID usare? (Inviando un'altra query a DB ??)
Quale database back-end stai utilizzando? –
@Matt Gibson: MySQL –
Dispari; Ho appena fatto qualcosa di simile con Doctrine di Symfony 1.4, che io _think_ è la versione 1.2.3, e usa la clausola LIMIT per MySQL, come ci si aspetterebbe. –