10

MySQL allows you to specify a different engine for a table from the server default engine. What kind of overhead does that create though? If I wanted to join a table that uses InnoDB with a table that uses MyISAM, which engine does MySQL use to run queries on that resulting temp table? For example, if I wanted to perform a task on that resulting temp table that only one engine can do (such as full text indexing), will the MySQL optimizer know to apply the right engine?

Is there any other reason not to specify particular engines for particular tables, even if they might differ from the server default?

carlbenson
  • 3,177
  • 5
  • 35
  • 54
  • perhaps this post answers your query - http://stackoverflow.com/questions/5475283/joining-innodb-tables-with-myisam-tables – Abhay Mar 10 '12 at 18:05
  • Unless you have specific reasons for mixing storage engines (e.g. _proven_ performance problems), just avoid it. – Michael Mior Mar 10 '12 at 20:10

1 Answers1

3

There is a penalty for mixing storage engines. Take a look here for details.

Aleksandar Vucetic
  • 14,715
  • 9
  • 53
  • 56
  • 1
    word "here" is a link towards mysqlperformanceblog. I always take them quite competent, so didn't search for more links. Did you mean some more links? – Aleksandar Vucetic Mar 11 '12 at 00:14
  • 1
    Ha, sorry, I read it first on my mobile which apparently did not seem to dump out a link. Cheers, – Jé Queue Mar 11 '12 at 00:16