magento - cataloginventory_stock_status_idx 表有什么意义?

标签 magento

我非常努力地理解cataloginventory_stock 的关系——我知道stock_item 和stock_status 表都会在修改库存项目时更新,但我无法确定是否真的需要stock_status_idx 表。

据我所知,stock_status_idx 表包含与 stock_status 表相同的信息。它只是一个临时表吗?如果我手动更新 stock_item 和 stock_status 表,但没有更新 stock_status_idx 表,我没有看到任何错误库存状态的问题。

事情是......我认为它以某种方式用于缓存/索引器。但是,即使我没有修改 stock_status_idx 表,库存状态在后端和前端都显示得很好。

那么,stock_status_idx 表的意义何在?

非常感谢你的帮助。

最佳答案

我想知道同样的问题并决定挖掘,因为我在任何地方都找不到答案。
似乎 _tmp 和 _idx 被用作索引数据的临时持有者。

例如,您可以查看 reindexAll() app/code/core/Mage/Catalog/Model/Resource/Category/Indexer/Product.php 中的方法你会明白它在生成索引时使用 _idx 表来临时存储它的数据:

$this->useIdxTable(true);
...
$idxTable = $this->getIdxTable();
....
$query = $select->insertFromSelect($idxTable, ...

在同样的方法结束时,你会注意到一个不错的 $this->syncData()方法调用。你可能已经猜到了!该函数位于 app/code/core/Mage/Index/Model/Resource/Abstract.php并且正在这样做,将 _idx 与 main 同步:
$this->_getWriteAdapter()->delete($this->getMainTable());
$this->insertFromTable($this->getIdxTable(), $this->getMainTable(), false);
$this->commit();

祝你好运!

关于magento - cataloginventory_stock_status_idx 表有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10063434/

相关文章:

class - 添加或删除带有原型(prototype)的类

php - Magento/Zend Framework 中的内存泄漏

php - Magento 添加跟踪号模板错误

php - Magento:我如何获得特定订单的所有交易支付项目?

search - 如何修改 Magento 搜索以检查子 skus?

Magento - 忘记密码链接生成使用了不正确的商店 View

.net - Magento Paypal Express 附加信息字段

Magento - 保存产品而不设置 "Use Default Value"

php - Magento 产品 : remove SKU from product name

html - 如何修复magento中的重复内容?