30/05/2015 - DOCTRINE
Aşağıdaki tavsiye listesi zaman içinde değişebilir ama şu an için size doctrine hakkında genel bilgiler verir. Not: Eğer symfony framework kullanıyorsanız, profil barının açık olması size çalıştırılan sorgular hakkında bilgi alma olanağı sağlar.
createQueryBuilder()'i kullanarak yaratın çünkü, eğer kullandığınız herhangi bir entity başka bir entity ile ilişki içindeyse, yaptığınız işleme göre lazy load extradan sorgu çalıştırabilir. Bu nedenle, en baştan
leftJoin() kullanılılarak ilişkisel entitilerin seçilmesi daha faydalıdır.
find methodlarını kullanmak daha iyidir çünkü, hem daha hızlı olurlar, hem de daha az memory kullanırlar.
createQueryBuilder() içinde
leftJoin() kullanarak yapın.
...->getQuery()...->setHint(Query::HINT_FORCE_PARTIAL_LOAD, true)...->getResult(); ekini ekleyebilirsiniz.
Query#iterate() methodunu kullanın, çünkü bu method veritabanından gelecek olan sonuçların hepsinin bir anda hafızada tutulmasını engeller. Daha fazla bilgi için burayı tıklayın.