Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Converting tables from MyISAM to InnoDB

Posted on 2006-06-20
4
489 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

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

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

Does the idea of dealing with bits scare or confuse you? Does it seem like a waste of time in an age where we all have terabytes of storage? If so, you're missing out on one of the core tools in every professional programmer's toolbox. Learn how to …
Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

856 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