Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


For Wordpress, the best, MyISAM or InnoDB
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

For Wordpress, the best, MyISAM or InnoDB

comebackcomeback Member

I would like your opinion, for better engine MySQL

MyISAM or InnoDB

I read that MyISAM manages only one cpu?

Thanks for your help

storage engine ?
  1. storage engine ?30 votes
    1. MyISAM ?
      26.67%
    2. InnoDB
      70.00%
    3. Other (can you specify in comments)?
        3.33%

Comments

  • cassacassa Member

    Frequent reading, almost no writing => MyISAM
    Full-text search in MySQL <= 5.5 => MyISAM
    In all other circumstances, InnoDB is usually the best way to go.

    Source: http://stackoverflow.com/a/6796566

    Thanked by 1agentmishra
  • agentmishraagentmishra Member, Host Rep

    till you are not using e-commerce (woocommerce, etc) myisam is the best option.... as @cassa has said.

  • exception0x876exception0x876 Member, Host Rep, LIR
    edited May 2016

    @cassa said:
    Frequent reading, almost no writing => MyISAM

    If your database grows bigger than a few gigs, and you have enough RAM for InnoDB buffer pool, InnoDB may be faster for reading than MyISAM, since it caches both Indexes+Data while MyISAM caches indexes only.

  • AbdussamadAbdussamad Member
    edited May 2016

    With innodb there is less chance of data corruption/data loss because it is ACID compliant and makes sure to commit data to disk. InnoDB uses more memory than MyISAM so that's a downside to it.

    MyISAM is faster for typical website related uses where reads outnumber writes by a huge margin.

    InnoDB has row level locking so it's faster for concurrent writes to the same database tables. MyISAM has table level locking meaning if one process is writing data to a table no other process can write data to that same table at the same time even if the rows they are writing to are different.

    In the latest versions of MySQL they have moved to innodb as the default. If you have enough RAM on your server you should use innodb for WP. Otherwise MyISAM.

    Thanked by 1fazar
  • LiteServerLiteServer Member, Patron Provider

    We see good performance with using InnoDB on Wordpress. Especially the larger website take benefit of that.
    InnoDB performs great for both read and writes as long you've done the optimize job right. Without proper optimizing, InnoDB won't use your system resources efficient and there is a good chance you'll see a ton of unneeded read/write I/O activity slowing everything down.
    Remember, InnoDB likes (in fact.. it needs) RAM.

    Al already mentioned by Adbussamad, recent versions of MySQL come with InnoDB as default engine.

  • jarjar Patron Provider, Top Host, Veteran
    edited May 2016

    @Abdussamad said:
    With innodb there is less chance of data corruption/data loss because it is ACID compliant and makes sure to commit data to disk.

    Really? I usually found it to be the first thing to get corrupted beyond reasonable repair in emergency situations. Sudden reboot + fsck on a really busy server often meant innodb issues while myisam tables picked up fine. Myisam is also easier to back up raw while running (without mysqldump) for things like KVM snapshots, where innodb data is often corrupted in backups performed in this way.

    However, the table level locking was always a deal breaker on myisam for me. Innodb is the clear winner in performance for the average user.

    Thanked by 1NetworkPanda
  • LiteServerLiteServer Member, Patron Provider

    Jarland is right about.
    When you pull the power cord of a busy InnoDB box, there will be most likely corruption all over the place and recovery is required. This while MyISAM would just be as happy like before.

    But this is usually for me not a reason to skip InnoDB. I would use MyISAM for small databases, or the ones with mainly reads. But for everything else I usually prefer InnoDB - just for performance reasons.
    The (small) chance of database corruption is always there - no matter what kind of setup. So i'd say, having backups is the key.

    Thanked by 1jar
  • raindog308raindog308 Administrator, Veteran

    @jarland, @Abussamad, @LiteServer I wrote an explanation of why both @jarland and @Abussamad are right about "data loss/data corruption", but CloudFlare prevented me from posting it.

    Here it is: http://pastebin.com/fhRmt9UR

Sign In or Register to comment.