2012-04-25 35 views
12

Gần đây tôi đã học về PDO và Doctrine 2.2.2 để xây dựng một ứng dụng. nhưng tôi sẽ làm việc với một số hạn chế quan trọng trong môi trường của tôi (rất nhiều dữ liệu, tốc độ kết nối ... vv) tôi biết rằng Doctrine có một lớp PDO, vì vậy có thể PDO nhanh hơn nhưng tôi muốn làm việc với một ORM thực Khung như Hibernate.Doctrine có thực sự chậm hơn PDO không?

sau khi đọc bài này Benchmark PDO vs Doctrine

tôi phải biết nếu thuyết là [rất] chậm hơn PDO.

Cảm ơn bạn

+2

So sánh PDO với Doctrine giống như so sánh táo với cây táo. Cũng lưu ý rằng Doctrine2 nhanh hơn – KingCrunch

+0

bạn nói đúng, tôi biết ý bạn là gì; nhưng tôi chỉ cần biết Doctrine chậm đến mức nào. cảm ơn nhận xét của bạn. – GENE

Trả lời

36

Doctrine 2 + PHP 5.3+ cải thiện đáng kể tốc độ của Doctrine.

Tuy nhiên, bạn sẽ không bao giờ gần gũi với PDO beacause nó không giống nhau: bạn có muốn truy vấn cơ sở dữ liệu của mình không?

  • Đối với chất lượng phát triển, dễ dàng và tốc độ: sử dụng Doctrine
  • Đối với tốc độ thời gian chạy: không sử dụng một ORM
+0

Cảm ơn rất nhiều .. tôi nghĩ rằng tôi sẽ sử dụng học thuyết 2 – GENE

+1

@adrien +1 cho hai điểm. – ravi404

+0

Sau khi làm việc trên ít nhất 3 đến 4 dự án. Tôi đã trải nghiệm PDO nhanh hơn rất nhiều. Đối với quan điểm UX, tôi luôn chọn PDO trên ORM. Bạn luôn có thể viết mã gọn gàng và dễ hiểu với các truy vấn SQL bình thường bằng cách sử dụng lớp DBAL. – doNotCheckMyBlog

9

Sử dụng một bộ nhớ cache PHP như APC sẽ cải thiện hiệu suất Học thuyết của rất nhiều. Từ những gì tôi đã thấy; một nơi nào đó giữa 3-7 lần.
Nếu bạn không thể sử dụng bộ nhớ cache, bạn có thể dễ dàng chuyển sang lớp DBAL của Doctrine thay vì ORM ở những khu vực mà bạn thực sự cần tất cả tốc độ bạn có thể nhận được. Tốc độ thời gian chạy sau đó sẽ gần gũi hơn với PDO, nhưng bạn sẽ mất đi sự tiện lợi của ORM.

Các vấn đề liên quan