Magento'nun neden hisse senedi endeksi var?


12

Biraz kısa görüşlü olabilirim ama Magento'nun ardındaki cataloginventory_stock_statusve hisse senedi endeksine sahip oldukları zamanki cataloginventory_stock_status_idxözdeşliği bulamıyorum .

Tablo düzeyinde bulabileceğim tek fark:

  1. Satır sayısında küçük bir varyasyon var
  2. cataloginventory_stock_status dizin tablosunda bulunmayan 3 yabancı anahtar kısıtlaması var.

Kilitleme ile ilgili bazı nedenler olacağını ve ödeme işlemlerini etkileyeceği ancak nedenine ilişkin bilgi bulamadığı bazı işlemler olacağını varsayalım.


Çok ilginç!
Paras Sood

Yanıtlar:


10

Dizin oluşturma işlemi değerleri ilk olarak _idxtabloya yazar, böylece çalışma sırasında ana tablodaki okuma eylemlerine müdahale etmez.
Tüm değerler _idxtabloya eklendiğinde, tüm değerler ana tabloya kopyalanır.

Nasıl Mage_CatalogInventory_Model_Resource_Indexer_Stock::reindexAllgöründüğüne bir göz atın .
Ayrıca aşağıdaki kodda yorumlarıma bakın:

public function reindexAll()
{
    $this->useIdxTable(true); //tell the indexer to use the _idx table
    $this->beginTransaction();
    try {
        $this->clearTemporaryIndexTable(); //clear data from the _idx table

        foreach ($this->_getTypeIndexers() as $indexer) {
            $indexer->reindexAll(); //reindex everything in the _idx table
        }

        $this->syncData(); //clear the main table and insert the values from the _idx table.
        $this->commit();
    } catch (Exception $e) {
        $this->rollBack();
        throw $e;
    }
    return $this;
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.