আমি বেন লেসানির সাথে একমত যে আপনি যদি সম্ভব হয় তবেcore/iterator
একবারে একাধিক সারিতে বড় সংগ্রহ লোড করতে আপনার উত্স মডেলটি ব্যবহার করা উচিত ।
তবে, সীমাবদ্ধতা আছে। " অ্যাডঅ্যাট্রিবিউটটোসলেক্ট কোর / রিসোর্স_টিরেটরের সাথে কাজ করছে না? " এ যেমন ব্যাখ্যা করা হয়েছে তবে আপনাকে যদি বৈশিষ্ট্য মান সারণী থেকে মানগুলি অন্তর্ভুক্ত করতে হয় তবে এটি ইএভি মডেলগুলির সাথে ভাল কাজ করে না।
এবং স্ট্যাকওভারফ্লো থেকে লিঙ্কযুক্ত উদাহরণটি আসলে তেমন ভাল নয় কারণ এটি একই LIMIT
প্রকাশকে বিভিন্ন এক্সপ্রেশন দিয়ে পুনরাবৃত্তি করে । জটিল প্রশ্নের জন্য এটি একটি পারফরম্যান্স সমস্যা হতে পারে, তবে আরও গুরুত্বপূর্ণ, এর মধ্যে নতুন সারি যুক্ত করা গেলে আপনি সদৃশগুলি পাবেন।
খণ্ডগুলিতে সংগ্রহগুলি পরিচালনা করার একটি ভাল উপায় হ'ল প্রথমে সমস্ত আইডি লোড করা, তারপরে এই আইডিগুলি প্রকৃত পেজড সংগ্রহের ফিল্টার হিসাবে ব্যবহার করুন।
পণ্যগুলির জন্য সহজ উদাহরণ:
$ids = Mage::getModel('catalog/product')
->getCollection()
->getAllIds();
$page = 1;
do {
$collection = Mage::getModel('catalog/product')
->getCollection()
->addIdFilter($ids)
->setPageSize(100)
->setCurPage($page);
$results = $collection->load();
// do stuff ......
$page++;
} while ($results->count());