在Magento中安全截断的表列表?

问题描述 投票:21回答:4

是否有可以在Magento中安全截断的表列表?安全地,我的意思是保护产品。

我有几个但想知道是否还有更多:

    core_url_rewrite # Only safe if no custom rewrites are in place
    catalog_product_flat_1
    catalog_product_flat_# (# depends on the multistore)
    log_customer
    log_quote
    log_summary
    log_summary_type
    log_url
    log_url_info
    log_visitor
    log_visitor_info
    log_visitor_online

请注意,这个问题现在差不多8年了;不要只是随机开始截断表;在你做任何事之前,备份可能符合你的最佳利益。

mysql sql magento truncate
4个回答
44
投票

在你做任何事之前

  • 确保首先在非生产环境中测试清除此数据。
  • 始终在永久丢失数据之前进行备份。
  • 确保你是truncateing,而不是droping。
  • 在批量删除记录后,通过shell重新索引所有内容可能是一个好主意

更新:

您可以使用this n98-magerun module清理表格。

或者按照以下说明手动完成。


为了扩展Jim的答案,Magento Support在要求提供数据库副本时不需要这些表的内容,因此您可以认为它们不是必需的。

Cache tables

core_cache
core_cache_tag

缓存数据是临时的。清除这些应该是安全的。

Session tables

core_session

无需保持一年的会话。将自动创建新会话(但会导致人们退出/打破当前的结帐流程)。

Dataflow tables

dataflow_batch_export
dataflow_batch_import

每次运行批次时基本上都有日志,而不是关键。

Admin logs

enterprise_logging_event
enterprise_logging_event_changes

这些是管理员在后端执行操作的日志。非常适合追踪“谁破坏了什么”,但不需要永远保存。你可以安全地截断这些。

专业提示:确保在系统>配置>高级>系统>管理操作日志存档中清除旧记录

Support tables

enterprise_support_backup
enterprise_support_backup_item

Magento的支持历史,可能存在也可能不存在。

Index tables

index_event
index_process_event

需要更新的索引条目的后退日志。但是,一旦它们过时,它们就不会删除它们。

Log tables

log_customer
log_quote
log_summary
log_summary_type
log_url
log_url_info
log_visitor
log_visitor_info
log_visitor_online

记录数据,大部分未使用。但是,我看过“Sort by Most Viewed”模块使用log_visitor_info表,所以要小心。

专业提示:确保在系统>配置>高级>系统>日志清理中清除旧记录(这仅限访问者,客户和网址)

Report tables

report_event
report_viewed_product_index

这些是在运行报告时可以重建的聚合表。


其他可以偶尔使用修剪的表是

Quote tables

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岁的废弃购物车数据对您来说并不重要,请考虑截断这些数据。请记住,当前购物车位于此处,因此请在非工作时间安排此操作,或删除年龄超过X天的updated_at行。

专业提示:安装Aoe_QuoteCleaner

Staging tables

如果使用Enterprise的登台功能,您可能会开始看到带有s_前缀的表。删除暂存站点后,无法清除这些内容。如果您的enterprise_staging表为空,则不再需要这些表。

Changelog tables

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触发器,可以在修改某些表的数据时写入更改日志表。稍后,调度程序索引器将获取更改日志条目并更新项目。但是,它完成后不会清理。您可以不时清除它们。

Category and product flat tables

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可能不再存在,但你仍然有死平的桌子。

URL rewrite tables

这里要小心,你可能不想截断所有这些。

core_url_rewrite
enterprise_url_rewrite

首先检查is_system = 0的任何记录。如果是这样,您将不想截断,您将丢失自定义重定向。试试DELETE FROM core_url_rewrite WHERE is_system = 1吧。重新索引重写将使用其余的重新填充此表。

More report tables

report_viewed_product_aggregated_daily
report_viewed_product_aggregated_monthly
report_viewed_product_aggregated_yearly

这些是聚合的,可以重建(如索引)。


28
投票

当您使用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_*表也可以被截断,因为reindex将重新填充它们。

用户可以从后端手动向core_url_rewrite表添加条目,我不想保证在截断core_url_rewrite后,具有相同URL密钥的两个产品类别总是具有相同的URL。这不是我依靠能够安全截断的。


1
投票

我想在列表中添加您还可以截断“catalogrule_product”和“catalogrule_product_price”。您可以通过在Pormos>目录规则中运行应用规则来重新生成它。我已经将这个表截断了几次才知道它是安全的。 NB!您重新运行规则之前,所有目录规则价格都将从前端消失。

如果这些表格被清除,我也很想知道是否有人可以描述网站会发生什么。例如。我假设丢弃core_session(如果我们使用数据库存储那些)将丢弃所有客户当前“登录”的会话,它是否也会丢弃客人的购物车?


0
投票

我怀疑截断ie admin_ *表是有用的。如果您按照上面列出的唯一有价值的表格,这样就完成了。您必须再次添加管理员。

没有检查任何进一步的表格。只是偶然发现了我安装的前3个表。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.