magento性能优化系列二:db篇

magento是一个灵活的系统,但是糟糕的是他的db总是显得很庞大很臃肿。或许是因为有很多的product,你知道的,EAV模式很灵活,但代价是数据很庞大,维护很繁琐。不幸的是,这并不是唯一一个使db慢的原因,大量的log充斥着db,其实很多许久的log已经没有意义,所以适时清除log就显得尤为必要。下面给出如何清除log的方法。

Thank you for reading this post, don't forget to subscribe!

NOTE: 操作之前请确认已经对db做了完整的备份

magento维护着一些关于log的table,比如customers 浏览记录,产品的比较记录等;magento本来是有自己的方法定期清除这些log,但不幸的是,这个特性默认是没开启的,并且大多数客户也没用开启它;有3种办法能清除这些table:后台清除;通过log.PHP ,在 ../shell 目录下;通过phpMyAdmin或MySQL客户端;
以下列出相关log的table

  1. log_customer
  2. log_visitor
  3. log_visitor_info
  4. log_url
  5. log_url_info
  6. log_quote
  7. report_viewed_product_index
  8. report_compared_product_index
  9. report_event
  10. catalog_compare_item

一:后台清除
1:登入后太 System > Configuration.
2:左侧菜单 Advanced 下点击 System.

3:在"Log Cleaning"下, 改变"Enable Log Cleaning" 为 YES 并且配置Save Log 为15 days:

4:"Save Config"

二:Log.php

进入magento/shell/目录
执行php -f shell/log.php clean

-days 指定清除周期天数。

三:通过PhpMyAdmin
这是最灵活也是最高效的方法,进入后选择以下table

  1. dataflow_batch_export
  2. dataflow_batch_import
  3. log_customer
  4. log_quote
  5. log_summary
  6. log_summary_type
  7. log_url
  8. log_url_info
  9. log_visitor
  10. log_visitor_info
  11. log_visitor_online
  12. report_viewed_product_index
  13. report_compared_product_index
  14. report_event

然后进行empty操作即可。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注