With the release today of Live Chat 1.55.0, we have for the first time increased the required minimum version of MySQL from the old standard, 3.23.x. Those versions of MySQL are what many people first used for a database with their web software, and for quite some time, never upgraded from despite the changes and additions made by the developers of MySQL. But, for some time, MySQL 3.23 (and 4.0) have been deprecated by their developers in order to focus on later versions, and most webhosts have upgraded their databases to later versions as well.
The new minimum MySQL version we require with Live Chat is 4.1.x. This choice gave us quite a few new features to turn to when readying this new version of the software. For example, we have changed the structures of the majority of our tables from MyISAM to InnoDB.
InnoDB tables support row-level locking, which allows for faster table access when many people are accessing a table for read and write operations, as opposed to MyISAM’s locks which lock the entire table. InnoDB is also much more reliable than MyISAM, able to survive a crash without fear of data corruption. Many other users of MySQL have switched to InnoDB, including Livejournal, with great success. Thus far, we have experienced performance gains across the board with our usage of InnoDB — in some cases more than others — but so far no slowdowns or other performance hits. InnoDB can result in larger table sizes than MyISAM, relative to the original size of a table; in Live Chat’s case, this hasn’t proved to be much, and the performance gains should easily outweigh this tradeoff.
We have also begun using subqueries, which is an excellent feature of MySQL 4.1, that should help to further optimize query performance. We’re excited by the potential that this change has not only for Live Chat but for other products of ours as well.
Many other bug fixes were made for the 1.55.0 release of Live Chat, which you can view here.