是否有可以在 Magento 中安全截断的表列表?安全,我的意思是保存产品。
我有一些,但想知道是否还有更多:
- core_url_rewrite # 只有在没有自定义重写时才安全
- 目录_product_flat_1
- catalog_product_flat_#(# 取决于多商店)
- log_customer
- 日志报价
- 日志摘要
- log_summary_type
- 日志网址
- log_url_info
- log_visitor
- log_visitor_info
- log_visitor_online
truncate
ing,而不是在drop
ing。你可以使用这个n98-magerun
模块来清理你的表。
或者按照以下说明手动操作。
为了扩展 Jim 的回答,Magento 支持在他们要求您的数据库副本时不需要这些表的内容,因此您可以认为它们不是必需的。
core_cache
core_cache_tag
缓存数据是临时的。清除这些应该是安全的。
core_session
无需保留一年前的课程。将自动创建新会话(尽管它会导致人们退出/中断当前的结帐流程)。
dataflow_batch_export
dataflow_batch_import
每次运行批处理时基本上都有日志,并不重要。
enterprise_logging_event
enterprise_logging_event_changes
这些是哪些管理员在后端做什么的日志。非常适合追踪“谁破坏了什么”,但不需要永远保留。您可以安全地截断这些。
专业提示:确保在系统 > 配置 > 高级 > 系统 > 管理员操作日志存档中清除旧记录
enterprise_support_backup
enterprise_support_backup_item
Magento 的支持历史,对您来说可能存在也可能不存在。
index_event
index_process_event
需要更新的索引条目的积压日志。但是,一旦过时,它们就不会删除自己。
log_customer
log_quote
log_summary
log_summary_type
log_url
log_url_info
log_visitor
log_visitor_info
log_visitor_online
日志数据,大部分未使用。但是,我已经看到“按浏览次数排序”模块使用该log_visitor_info
表,所以要小心。
专业提示:确保您正在清理系统 > 配置 > 高级 > 系统 > 日志清理中的旧记录(这仅适用于访问者、客户和 url)
report_event
report_viewed_product_index
这些是可以在运行报告时重建的聚合表。
其他可以偶尔使用修剪的表是
sales_flat_quote
sales_flat_quote_address
sales_flat_quote_address_item
sales_flat_quote_item
sales_flat_quote_item_option
sales_flat_quote_payment
sales_flat_quote_shipping_rate
如果拥有 3 年前的废弃购物车数据对您来说并不重要,请考虑截断这些数据。请记住,当前的购物车在此处,因此请在非工作时间安排此操作或删除updated_at
超过 X 天的行。
专业提示:安装Aoe_QuoteCleaner
如果您使用 Enterprise 的暂存功能,您可能会开始看到带有s_
前缀的表。一旦暂存站点被删除,这些就不会被清理。如果您的enterprise_staging
表是空的,则不再需要这些表。
catalog_category_flat_cl
catalog_category_product_cat_cl
catalog_category_product_index_cl
catalog_product_flat_cl
catalog_product_index_price_cl
cataloginventory_stock_status_cl
catalogsearch_fulltext_cl
enterprise_url_rewrite_category_cl
enterprise_url_rewrite_product_cl
enterprise_url_rewrite_redirect_cl
Magento 引入了 MySQL 触发器,该触发器在某些表的数据被修改时写入更改日志表。稍后,调度程序索引器会拾取更改日志条目并更新项目。但是,完成后它不会清理。您可以不时清除这些。
catalog_category_flat_store_1
catalog_category_flat_store_2
catalog_category_flat_store_3
catalog_category_flat_store_4
catalog_category_flat_store_5
catalog_category_flat_store_6
catalog_category_flat_store_7
catalog_product_flat_1
catalog_product_flat_2
catalog_product_flat_3
catalog_product_flat_4
catalog_product_flat_5
catalog_product_flat_6
catalog_product_flat_7
这些表我倾向于drop
。重新索引后,他们将重新创建自己。在某些情况下,商店7
可能不再存在,但您仍然拥有死板。
在这里要小心,您可能不想截断所有这些。
core_url_rewrite
enterprise_url_rewrite
首先检查是否有任何记录is_system = 0
。如果是这样,您不想截断,您将丢失自定义重定向。试试DELETE FROM core_url_rewrite WHERE is_system = 1
吧。重新索引重写将用其余部分重新填充此表。
report_viewed_product_aggregated_daily
report_viewed_product_aggregated_monthly
report_viewed_product_aggregated_yearly
这些是聚合的,可以重建(如索引)。
当您使用 Magento 支持记录问题并且他们要求您提供数据库转储时,他们为您提供的脚本仅转储以下表格的架构:
core_cache
core_cache_option
core_cache_tag
core_session
dataflow_batch_export
dataflow_batch_import
enterprise_logging_event
enterprise_logging_event_changes
enterprise_support_backup
enterprise_support_backup_item
index_event
index_process_event
log_customer
log_quote
log_summary
log_summary_type
log_url
log_url_info
log_visitor
log_visitor_info
log_visitor_online
report_event
report_viewed_product_index
如果 Magento 支持不需要这些表的内容来解决问题,那么可以安全地假设它们可以被安全地截断。
表catalog_product_flat_*
和catalog_category_flat_*
表也可以被截断,因为重新索引将重新填充它们。
用户可以core_url_rewrite
从后端手动将条目添加到表中,我不想保证具有相同 URL 键的两个产品 pr 类别在 truncating 后总是具有相同的 URL core_url_rewrite
。这不是我能够安全截断的依赖。
我想添加到列表中,您还可以截断“catalogrule_product”和“catalogrule_product_price”。您可以通过在 Pormos > 目录规则中运行应用规则来重新生成它。我已经将这张表截断了好几次才知道它是安全的。注意!在您重新运行规则之前,您的所有目录规则价格都将从前端消失。
如果这些表格被清除,我也很想看看是否有人可以描述该网站会发生什么。例如,我假设删除 core_session(如果我们使用数据库来存储这些)将删除所有客户当前“登录”的会话,它还会删除客人的购物车吗?
我怀疑截断 ie admin_* 表是否有用。如果您遵循上面列出的唯一有价值的表格,就完成了。您将不得不再次添加管理员。
没有检查任何进一步的表。刚刚偶然发现了我安装的前 3 个表。