Tại sao học thuyết (1.2) sử dụng WHERE IN
thay vì LIMIT
?Tại sao học thuyết sử dụng WHERE IN thay vì LIMIT?
Mã này:
Doctrine_Query::create()
->from('Table t')
->limit(10)
->getSqlQuery();
Returns một cái gì đó như thế này:
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);
Thay vì điều này:
SELECT t.id_table AS t__id_table FROM table AS t LIMIT 10;
behaivor Đây là cùng một giá trị cho bất kỳ LIMIT
. Điều này tạo ra một truy vấn rất dài cho các giá trị cao LIMIT
.
Câu hỏi thưởng: Doctrine biết, sử dụng id nào? (Bằng cách gửi một truy vấn khác tới DB ??)
Bạn đang sử dụng chương trình phụ trợ cơ sở dữ liệu nào? –
@Matt Gibson: MySQL –
Odd; Tôi vừa làm một cái gì đó tương tự với Doctrine của Symfony 1.4, mà tôi _think_ là phiên bản 1.2.3, và nó sử dụng mệnh đề LIMIT cho MySQL, như bạn mong đợi. –