?
Solved

Converting tables from MyISAM to InnoDB

Posted on 2006-06-20
4
Medium Priority
?
516 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
[X]
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
  • 2
4 Comments
 
LVL 7

Assisted Solution

by:db2inst1
db2inst1 earned 120 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 1380 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 1380 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

Get real performance insights from real users

Key features:
- Total Pages Views and Load times
- Top Pages Viewed and Load Times
- Real Time Site Page Build Performance
- Users’ Browser and Platform Performance
- Geographic User Breakdown
- And more

Question has a verified solution.

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

Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
In this article, I’ll talk about multi-threaded slave statistics printed in MySQL error log file.
In this video, Percona Solution Engineer Dimitri Vanoverbeke discusses why you want to use at least three nodes in a database cluster. To discuss how Percona Consulting can help with your design and architecture needs for your database and infras…
In this video, Percona Solutions Engineer Barrett Chambers discusses some of the basic syntax differences between MySQL and MongoDB. To learn more check out our webinar on MongoDB administration for MySQL DBA: https://www.percona.com/resources/we…
Suggested Courses

770 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