projectknife / Migrator

Projectfork 3 to 4 migration extension.
1 stars 4 forks source link

All my tables are still MyISAM #9

Open shoulders opened 11 years ago

shoulders commented 11 years ago

Hi,

i migrated my site from PF3 to PF4 on a 2.5 install and then upgraded to J3.x

While looking at my MySQL tables i have dicovered some of my tables are still MyISAM. All the PF4 tables are MyISAM. However when i do a fresh install of PF4 on a fresh copy of J3.1.1 all the tables install as InnoDB.

InnoDB seems to becomning the new default and as such i am trying to unify my tables.

so the 2 things that come out of this are

thanks

shoulders commented 11 years ago

bump

eaxs commented 11 years ago

Hey, interesting question.

Switching between myISAM and InnoDB is not a problem. InnoDB is the new default engine since mySQL 5.5, but that doesn't mean you should always use it. There exist different engines for different purposes and performance reasons.

We have not made any specific optimisations towards any of these engines yet, but we'll get to that (https://github.com/projectfork/Generator will assist with this - dont use it, its for devs only :hand:)

I have never looked at how Joomla processes the mysql install instructions in detail. Could be that they set the default engine, because Projectfork does not instruct mysql to use any particular engine. It just uses the default...which may be myISAM for J 2.5, and InnoDB in J3+.

That being said, there's nothing to fix here actually, except for performance optimisations on our end :)

shoulders commented 11 years ago

joomla has specific made changes to the database tables so they are innodb.

From a joomla tracker post i made: "Joomla does change the database engine. here is a sample of the code stored in joomla 3.1.1 update package /administrator/compoenents/com_admin/sql/updates/mysql/3.0.0.sql"

ALTER TABLE #__assets ENGINE=InnoDB; ALTER TABLE #__associations ENGINE=InnoDB; ALTER TABLE #__banners ENGINE=InnoDB; ALTER TABLE #__banner_clients ENGINE=InnoDB;

From what i read innodb can have some perfomance issues but has a lot more functionality and is safer for data and everyone seems to be moving to it. Its a bit like the collation type, there is hundreds of them but which one (i use with ut8_general_ci)

I am going to migrate my PF4 tables to innodb, but with joomla core all moving to innodb, perhaps it would keep things neater having PF4 actually check to make sure it's tables are innodb. All K2 will be moving to innodb shortly. All my extensions unless they specify otherwise now install with innodb including PF4.

cheers