Table of Contents
This section describes how MySQL relates to the ANSI/ISO SQL standards. MySQL Server has many extensions to the SQL standard, and here you will find out what they are and how to use them. You will also find information about functionality missing from MySQL Server, and how to work around some differences.
Our goal is to not restrict MySQL Server usability for any usage without a very good reason for doing so. Even if we don't have the resources to perform development for every possible use, we are always willing to help and offer suggestions to people who are trying to use MySQL Server in new territories.
One of our main goals with the product is to continue to work toward compliance with the SQL-99 standard, but without sacrificing speed or reliability. We are not afraid to add extensions to SQL or support for non-SQL features if this greatly increases the usability of MySQL Server for a large segment of our user base. (The new HANDLER interface in MySQL Server 4.0 is an example of this strategy. See HANDLER.)
We will continue to support transactional and non-transactional databases to satisfy both mission-critical 24/7 usage and heavy web/logging usage.
MySQL Server was designed from the start to work with medium size databases (10-100 million rows, or about 100 MB per table) on small computer systems. We will continue to extend MySQL Server to work even better with terabyte-size databases, as well as to make it possible to compile a reduced MySQL version that is more suitable for hand-held devices and embedded usage. The compact design of the MySQL server makes development in both of these directions possible without any conflicts in the source tree.
We are currently not targeting realtime support, though you can already do a lot of things with our replication capabilities.
Database cluster support is planned to begin sometime in 2004 through implementation of a new storage engine.
We are looking at providing XML support in the database server.