ฉันทำการวิจัยบางอย่างในช่วงเวลาที่ผ่านมาเนื่องจากเรามีปัญหากับตารางนั้น
report_viewed_product_index
ใช้สำหรับผลิตภัณฑ์ที่ดูล่าสุด หากคุณไม่ได้ใช้คุณสมบัตินี้: ไปและตัดทอน :-)
หากคุณใช้ฟังก์ชั่นการดูผลิตภัณฑ์เมื่อเร็ว ๆ นี้ตรวจสอบว่า cron ของคุณตั้งค่าถูกต้องหรือไม่ รายการสำหรับผู้เยี่ยมชมที่ไม่มีอยู่ในlog/visitor
ตารางควรถูกลบโดยอัตโนมัติในlog_log_clean_after
เหตุการณ์
วิธีทำความสะอาดนั้นสืบทอดมาMage_Reports_Model_Resource_Product_Index_Viewed
จากMage_Reports_Model_Resource_Product_Index_Abstract
จุดที่เกิดเหตุการณ์นี้ขึ้น
/**
* Clean index (visitor)
*
* @return Mage_Reports_Model_Resource_Product_Index_Abstract
*/
public function clean()
{
while (true) {
$select = $this->_getReadAdapter()->select()
->from(array('main_table' => $this->getMainTable()), array($this->getIdFieldName()))
->joinLeft(
array('visitor_table' => $this->getTable('log/visitor')),
'main_table.visitor_id = visitor_table.visitor_id',
array())
->where('main_table.visitor_id > ?', 0)
->where('visitor_table.visitor_id IS NULL')
->limit(100);
$indexIds = $this->_getReadAdapter()->fetchCol($select);
if (!$indexIds) {
break;
}
$this->_getWriteAdapter()->delete(
$this->getMainTable(),
$this->_getWriteAdapter()->quoteInto($this->getIdFieldName() . ' IN(?)', $indexIds)
);
}
return $this;
}