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

标签 mysql sql magento truncate

是否有可以在 Magento 中安全截断的表列表?安全,我的意思是保存产品。
我有一些,但想知道是否还有更多:

  • core_url_rewrite # 只有在没有自定义重写的情况下才安全
  • catalog_product_flat_1
  • catalog_product_flat_#(# 取决于多店)
  • log_customer
  • log_quote
  • log_summary
  • log_summary_type
  • log_url
  • log_url_info
  • log_visitor
  • log_visitor_info
  • log_visitor_online
  • 最佳答案

    在你做任何事之前

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


  • 更新:

    您可以使用 this n98-magerun module清理你的 table 。

    或者按照以下说明手动执行此操作。

    为了扩展 Jim 的回答,当 Magento 支持要求您的数据库副本时,他们不需要这些表的内容,因此您可以认为它们不是必需的。

    缓存表
    core_cache
    core_cache_tag
    

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

    session 表
    core_session
    

    无需保留一年前的 session 。将自动创建新 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可能不再存在,但您仍然拥有死板。

    URL 重写表

    在这里要小心,您可能不想截断所有这些。
    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
    

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

    关于mysql - 在 Magento 中安全截断的表列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12205714/

    相关文章:

    mysql - 使用 Entity Framework 排除 MySQL 故障

    java - 如何在 JOOQ 中手动创建 RecordN 实例?

    sql - SQL Server 的良好实践 : nvarchar(max) performance

    时事通讯中的 Magento 全局消息

    templates - Magento:基于属性集的模板

    php - Laravel 4.2 找不到类错误

    c++ - QT/C++ QSql数据库 : QMYSQL driver not loaded on OS X

    mysql - 如何一次为 2 列使用单个别名

    mysql - Magento bundle 产品 SQLSTATE[HY000] : General error: 2006 MySQL server has gone away

    php - MySQL - 我如何/解决方法按组函数的结果排序