Diese Tabellen beziehen sich auf MView von Magento 2. Es ist der Indexer, der standardmäßig jede Minute in cron ausgeführt wird. MView wird verwendet, wenn Sie den Indexermodus auf "Nach Zeitplan indizieren" setzen.
Magento prüft, ob die _cl
Tabellen vorhanden sind. Wenn nicht, werden sie bei jeder Ausführung des Indexers / MView erstellt. Der Code für diese Tabellenerstellung befindet sich in \Magento\Framework\Mview\View::subscribe()
.
Das Einfügen in diese Tabellen erfolgt durch MySQL-Trigger. Alle Trigger in der Magento 2-Datenbank werden zum Aktualisieren von _cl
Tabellen verwendet : SHOW TRIGGERS
. Wenn der Administrator den Preis des Produkts ändert, werden Zeilen in einige der Tabellen eingefügt. Wenn cron nach 1 Minute ausgeführt wird, wird für jeden beteiligten Indexer eine Indizierung dieser Entitäten ausgelöst. Wenn nach jedem Indexerlauf betroffene Entitäten / Cache-Tags (catalog_product_123) vorhanden sind, wird eine vollständige Bereinigung des Cache / Lacktyps ausgelöst.
_cl
Tabellenzeilen werden wie jede Stunde gelöscht, wenn sie alt sind. Dafür gibt es einen Cron-Job.
// Magento_Indexer/etc/crontab.xml
<job name="indexer_clean_all_changelogs" instance="Magento\Indexer\Cron\ClearChangelog" method="execute">
<schedule>0 * * * *</schedule>
</job>
Überprüfen Sie Folgendes :
Was ist mview in magento2?
EDIT
Auch zurückgesetzt version_id zu 0
in mview_state
Tabelle. Sonst wird es nicht indizieren , bis ids in *_cl
Tabellen , die Reichweite version_id
in mview_state
.
Möglicherweise gibt es mehr *_cl
Tabellen als diese:
TRUNCATE TABLE `cataloginventory_stock_cl`;
TRUNCATE TABLE `catalogrule_product_cl`;
TRUNCATE TABLE `catalogrule_rule_cl`;
TRUNCATE TABLE `catalogsearch_fulltext_cl`;
TRUNCATE TABLE `catalog_category_product_cl`;
TRUNCATE TABLE `catalog_product_attribute_cl`;
TRUNCATE TABLE `catalog_product_category_cl`;
TRUNCATE TABLE `catalog_product_price_cl`;
TRUNCATE TABLE `customer_dummy_cl`;
TRUNCATE TABLE `design_config_dummy_cl`;
TRUNCATE TABLE `salesrule_rule_cl`;
TRUNCATE TABLE `targetrule_product_rule_cl`;
TRUNCATE TABLE `targetrule_rule_product_cl`;
UPDATE `mview_state` SET `version_id` = '0';