Solved

Converting tables from MyISAM to InnoDB

Posted on 2006-06-20
4
479 Views
Last Modified: 2012-06-22
Hi,
  I've got a table with 110k records. Reads/Writes are a little slow. I'm using MyISAM for the table. Considering the size and speed problems, will making the table InnoDB improve things?
  I'm using MySQL 5.0.22.  I also read that MySQL cautions this conversion as being unsupported.

(1) Anyone with any thoughts/experience on doing this?
(2) Anyone with any thoughts on my specific situation?

Thanks.
0
Comment
Question by:bigtwig
  • 2
4 Comments
 
LVL 7

Assisted Solution

by:db2inst1
db2inst1 earned 40 total points
ID: 16948617

I didn't know that was not supported. I did try changing the storage engine using alter table & once by importing the mysqldump after the editing the storage engine type in the dump file.

Alter table statement was slower. For almost double the size of your table.
0
 
LVL 2

Author Comment

by:bigtwig
ID: 16950512
http://dev.mysql.com/doc/refman/5.0/en/innodb-restrictions.html says it is an unsupported operation.

So you've (db2inst1) have done this twice before or you were just testing it?
0
 
LVL 22

Accepted Solution

by:
NovaDenizen earned 460 total points
ID: 16952785
That is just talking about the mysql.* database, which is the confusingly named database schema that holds all the user permission, table permission passwords, etc.  It is perfectly fine to change the engine on your own database tables.

In other words,
ALTER TABLE mysql.user ENGINE=InnoDB;   <---- DANGER DANGER!  unsupported!

ALTER TABLE XYZ_db.xyztable ENGINE=InnoDB;  <---- perfectly fine.
0
 
LVL 22

Assisted Solution

by:NovaDenizen
NovaDenizen earned 460 total points
ID: 16952817
This is completely separate from the question of whether or not changing the engine will actually speed things up for you.  It depends on how well indexed your queries are, what kind of data you have, and what kind of updates are going on.  If it slows things down, you could always alter it back to MyISAM.

Also, you should keep in mind that your ibdata file will get really big when you change your table to innodb, since all the data will go into the ibdata file.  If you change it back to MyISAM, the innodb file will still stay at the 'high-water mark' for that amount of data.
0

Featured Post

Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Introduction In this installment of my SQL tidbits, I will be looking at parsing Extensible Markup Language (XML) directly passed as string parameters to MySQL 5.1.5 or higher. These would be instances where LOAD_FILE (http://dev.mysql.com/doc/refm…
More Fun with XML and MySQL – Parsing Delimited String with a Single SQL Statement Are you ready for another of my SQL tidbits?  Hopefully so, as in this adventure, I will be covering a topic that comes up a lot which is parsing a comma (or other…
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question