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

时间:2012-08-30 21:22:32

标签: mysql sql magento truncate

是否有可以在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岁了;不要只是随机开始截断表;在你做任何事之前备份可能符合你的最佳利益。

4 个答案:

答案 0 :(得分:44)

在您做任何事之前

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

更新

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

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


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

缓存表

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

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

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

报告表

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

专家提示:安装Aoe_QuoteCleaner

临时表

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

更改日志表

enterprise_staging

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

类别和产品平台

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

这些表格我倾向于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可能不再存在,但您仍然有死平表。

URL重写表

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

7

首先检查core_url_rewrite enterprise_url_rewrite 的所有记录。如果是这样,您将不想截断,您将丢失自定义重定向。请尝试使用is_system = 0。重新索引重写将使用其余的重新填充此表。

更多报告表

DELETE FROM core_url_rewrite WHERE is_system = 1

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

答案 1 :(得分: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表添加条目,我不希望保证在截断{{1}后,具有相同URL密钥的两个产品类别总是具有相同的URL }。这不是我依靠能够安全截断的。

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

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

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