Do not run OPTIMIZE queries on innodb tables #3289

Closed
mattab opened this Issue Jul 31, 2012 · 3 comments

2 participants

@mattab
Piwik Open Source Analytics member

Reported in forums

Innodb does not work well with OPTIMIZE statements, esp. on large tables. I suggest we do not run the OPTIMIZE statement when the table is Innodb.

Could we detect that the table is using Innodb?

The code is in optimizeTables() in /trunk/core/PluginsFunctions/Sql.php

@mattab
Piwik Open Source Analytics member

let's add a new config option

[General]
; set to 0 when using Innodb tables in your database, because OPTIMIZE queries can take hours to run on very large Innodb tables
mysql_enable_optimize_tables = 1

@diosmosis
Piwik Open Source Analytics member

(In [7096]) Fixes #3289, don't optimize InnoDB tables.

@diosmosis
Piwik Open Source Analytics member

(In [7098]) Refs #3289, change test name + filename.

@mattab mattab added this to the 1.9 -- Piwik 1.9 milestone Jul 8, 2014
@diosmosis diosmosis was assigned by mattab Jul 8, 2014
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment