agallou / mageia-app-db

GNU Affero General Public License v3.0
6 stars 3 forks source link

Temporary tables are created as InnoDB (MyISAM wanted) #195

Closed agallou closed 10 years ago

agallou commented 10 years ago

Author Name: Samuel Verschelde (@stormi) Original Redmine Issue: 176, http://mageia-app-db.tuxette.fr/issues/176 Original Date: 2011/06/24 Original Assignee: Adrien Gallou


When creating a new database with default type InnoDB (which can happen if it's the default type for the mysql server), temporary tables are created as InnoDB instead of MyISAM, even if all other tables are in MyISAM.

Consequence : very very very heavy impact on performance for update requests for example (0.033s per request instead of 0.000s. Multiply this with 2000 requests and cry).

agallou commented 10 years ago

Original Redmine Comment Author Name: Samuel Verschelde (@stormi) Original Date: 2011/06/24 00:52:07 +0200


A solution can be to mention that in the installation instructions and in the init task, if it's sufficient. But a better solution would be... better :)

agallou commented 10 years ago

Original Redmine Comment Author Name: Samuel Verschelde (@stormi) Original Date: 2011/06/24 00:56:53 +0200


The above solution works only if default database engine can be set at database creation. I'm not sure, it looks like a server default.

agallou commented 10 years ago

Original Redmine Comment Author Name: Samuel Verschelde (@stormi) Original Date: 2012/05/21 22:32:01 +0200


The "slow update" problem is solved (making sure to do many updates in the same transaction), so now it does not matter that much what default engine is used for temporary tables in MySQL.

In theory temp tables for mysql should use the engine set in propel.ini, or we could add a setting for the wanted engine, but there are other priorities. I'll create another issue for that and give it no target milestone for now.