Zuständig dafür ist die Methode isEnabledFlat in der Klasse Mage_Catalog_Model_Resource_Product_Collection
public function isEnabledFlat()
{
if (Mage::app()->getStore()->isAdmin()) {
return false;
}
if (!isset($this->_flatEnabled[$this->getStoreId()])) {
$this->_flatEnabled[$this->getStoreId()] = $this->getFlatHelper()
->isEnabled($this->getStoreId());
}
return $this->_flatEnabled[$this->getStoreId()];
}
Diese deaktiviert ganz frech die Flat-Tables sobald in Index nicht aktuell ist. In einem aktuellen Projekt haben wir uns Testweise, durch Einbau von return true, dazu entschieden im Zweifel auch veraltete Flat-Tables zu verwenden. Ẃir erhoffen uns dadurch mehr Performance und etwas mehr Ruhe im System. Parallel kontrolliert ein Job dass die Flat-Tables niemals zu alt werden :)