The MySQL database server was created by David Axmark, Allan Larsson, and Michael Widenius as an upgrade to the mSQL database server and was first released for general use in 1996. It’s now owned and supported by Oracle but released as open-source software.
MySQL was originally created to incorporate indexing data to speed up data queries in the mSQL database server, by using the indexed sequential access method (ISAM). It did this by incorporating a special data management algorithm called the MyISAM storage engine. This proved to be a huge success.
MySQL was initially recognized for its speed of accessing data. The MyISAM data storage and indexing method proved to be a game changer in speeding up data access from other types of DBMS packages. It wasn’t long before the Internet world took notice, and MySQL became the DBMS package of choice for high-volume web applications.
These days, MySQL has evolved to do more than just fast data queries. Development is continually ongoing to add new features to MySQL. A short list of features includes the following:
- It was written in C and C++ and has been compiled to run on many different platforms.
- It incorporates a modular design approach to create a multi-layer server design.
- It supports multi-threading, making it easily scalable to incorporate multiple CPUs if available.
- It uses a thread-based memory allocation system.
- It implements hash tables in memory to increase performance.
- It supports client/server and embedded server environments.
- It supports multiple data storage engines.
- It implements all SQL functions using a class library.
- It includes support for all standard SQL data types.
- It offers a security system that supports both user-based and host-based verification.
- It includes support for large databases using more than 5 billion rows of data.
- It provides application programming interfaces (APIs) for many common programming languages (including PHP).
- It incorporates many different character sets, allowing it to support many different languages.
- It provides both command line and graphical tools for common database management.