Jadi saya mencoba mencari tahu apa yang lebih cepat db_query, db_select, atau EntityFieldQuery. Saat ini saya menggunakan EntityFieldQuery. Saya mengambil sekitar 1.600 entri simpul.
Saya menyadari ini bisa membebani sistem jadi saya hanya ingin mencari tahu yang merupakan pilihan terbaik untuk mengambil 1.600 node. Mencukur detik atau bahkan milidetik akan sangat berarti dengan aplikasi yang saya bangun.
Terima kasih sebelumnya atas jawaban Anda.
Jawaban:
Untuk menjawab pertanyaan Anda secara singkat, db_query adalah yang tercepat! Berikut adalah beberapa alasan, fakta dan angka yang dihimpun dari berbagai pertanyaan, sumber:
Googling sederhana dari pertanyaan ini, dapatkan hasil berikut:
dan ini
Jika Anda perhatikan di atas, db_select membuat lebih banyak panggilan fungsi dan menggunakan lebih banyak memori daripada db_query.
Saya kira pilihannya harus semata-mata didasarkan pada kebutuhan Anda. EntityFieldQuery mungkin lebih lambat tetapi, menawarkan banyak keuntungan seperti sintaksis sederhana, penyimpanan bidang bersifat pluggable, kopling longgar dan banyak lagi.
sumber
Itu ide yang sangat buruk di sana, untuk 1600 node, jangan berkeliling API dan menggunakan EntityFieldQuery. Anda mengoptimalkan hal yang salah.
sumber
Jika Anda hanya ingin data lapangan dari semua 1600 node, EFQE mungkin bisa membantu. Jika Anda sudah memiliki EFQ Anda harus dapat mengetahui apa yang Anda butuhkan dengan melihat halaman kotak pasir.
sumber