If exported current database as an SQL file size is over 600Mb. Most of which are logs. My question is can cleaning up logs from the database be a good practice to speed up a Magento website?


5 Answers 5


Magento maintains several tables for logging.These tables log things such as customer and visitor accesses and which products have been compared and which are viewed.Magento has a mechanism for cleaning these logs regularly, but unfortunately this feature is disabled by default and most customers do not turn it on.Please follow the steps to clean out the log tables

  1. Open the database in phpMyAdmin via Control Panel.

  2. In the right frame, select the check box for the following tables:

  3. At the bottom of the page, click the drop-down box With Selected and select Empty.

  4. A confirmation screen will appear. Click Yes. This will truncate all of the selected tables.

    Keep in mind that we are here to empty (Truncate) selected tables are not drop them. Be very careful when you do this.

  • Thanks for the expanded answer and a provided link. Surely comes in handy Sep 29, 2015 at 11:16
  • 2
    No. The correct answer is to enable the feature, not just throw away all the data.
    – user207421
    Sep 29, 2015 at 22:16
  • When you say 'enable the feature' which feature exactly do you refer to @EJP Oct 1, 2015 at 5:45
  • 1
    -1 - You mention that Magento has a built-in cleaning feature--then you don't show how to use it--very misleading.
    – STW
    Oct 1, 2015 at 22:58
  • The link has become broken...
    – 7ochem
    Jun 22, 2018 at 8:47

Yes, you can configure your settings in Admin to automatically clean up logs.

System > Configuration > Advanced > System > Log Cleaning

You need to setup the Cron job for this on server.

  • +1 - this is the best answer. Configure the site to store a reasonable duration of logs and the cron will clean up log entries as they pass their expiration
    – STW
    Oct 1, 2015 at 22:57

If you don't need the data at all, you can think about changing the database engine from InnoDB to BLACKHOLE.

  • 7
    or just disable logging events, no need to perform insert operations at all Sep 29, 2015 at 11:13

I can't see any issues with it, I have been doing this for the past few years with no problems, also you can turn the log cleaning via cron job

Try this:

SET foreign_key_checks = 0;

TRUNCATE mage_core_cache;
TRUNCATE mage_core_cache_option;
TRUNCATE mage_core_cache_tag;
TRUNCATE mage_core_session;

TRUNCATE mage_dataflow_batch_export;
TRUNCATE mage_dataflow_batch_import;
TRUNCATE mage_log_customer;
TRUNCATE mage_log_quote;
TRUNCATE mage_log_summary;
TRUNCATE mage_log_summary_type;
TRUNCATE mage_log_url;
TRUNCATE mage_log_url_info;
TRUNCATE mage_log_visitor;
TRUNCATE mage_log_visitor_info;
TRUNCATE mage_log_visitor_online;
TRUNCATE mage_report_viewed_product_index;
TRUNCATE mage_report_compared_product_index;
TRUNCATE mage_report_event;
TRUNCATE mage_index_event;
TRUNCATE mage_index_process_event;
TRUNCATE mage_catalog_compare_item;
SET foreign_key_checks = 1;

Sure you can remove mage_ if you don't have it in you table name or replace it with whatever you have.


Cleaning log is good idea for health of database.As per as magento, log table are store data about customer/visitor visaed urls and times etc.

If it not important for you then you can do log cleaning

  • You can still track more popular pages/products/categories etc via google analytics. So cleaning logs should only make sense Sep 29, 2015 at 11:13
  • yes. as you use ga then you can do log clean...
    – Amit Bera
    Sep 29, 2015 at 11:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.