是否有可以在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岁了;不要只是随机开始截断表;在你做任何事之前备份可能符合你的最佳利益。
答案 0 :(得分:44)
truncate
,而不是drop
。您可以使用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
可能不再存在,但您仍然有死平表。
这里要小心,你可能不想截断所有这些。
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个表。