我必須編寫一些查詢以在我的主頁上顯示特定產品。但是,這些時間很長,需要緩存。如何使用product_index改進Magento查詢
這是我的主頁進行查詢的例子:
$bogof = Mage::getModel('catalog/product')
->addAttributeToSelect('*')
->addAttributeToFilter('status',1)
->addAttributeToFilter('promocode',10)
->addAttributeToFilter('visibility',array('neq' => 1));
$bogof->getSelect()->order('rand()');
$bogof = $bogof->getFirstItem();
正如你所看到的,我需要那些獲得一個隨機的產品,這需要很長一段時間。
基本上這個查詢通過6個連接從magento_catalog_product_entity,magento_catalog_product_entity_int和magento_catalog_product_entity_varchar中獲取信息。
後來我發現這是一個類別頁面上,信息是通過Magento的從magento_catalog_product_entity,magento_catalog_category_product_index,magento_catalog_product_index_price和magento_cataloginventory_stock_item這是很多不是加入快進賬6倍
我如何使用相同類型的查詢獲取我的產品?我試圖沒有任何成功使用ResourceModel。
在此先感謝。
(請原諒我的英文)
謝謝。我注意到在小的結果集上,最好使用PHP進行隨機化。但是在大型的MySQL上效率更高。 – Fred