The right hosting plan without the hassle Bookmark and Share

MySQL Databases

Key Points - MySQL Databases
  • Inexpensive or free
  • Easy to learn
  • Not recommended for complex sites

MySQL is, at its root, an SQL server, i.e. a program which accepts requests written in SQL and delivers back some type of answer. The answer may be data, the number of records affected by the query, or it may simply be an "ok, did that".

Pros

MySQL is a great database system for handling very large data sets. Many users report having tables that contain several hundred thousand, or million, records. Hearing of databases of several Gigabytes are not uncommon on the mailing list.

MySQL outperforms many other available systems in querying on large tables. MySQL is also very stable and performs well, even when several hundred people are accessing the same data concurrently. This is one of the reasons MySQL is very popular for web applications. MySQL also scales very well, and runs on anything from small pc's to huge, multi-processor systems.

Cons

MySQL doesn't support transactions. If you don't know what transactions are, chances are you'll never need them. Transactions are most widely used in systems where complex updates of many tables concurrently is important and you must be absolutely sure that all things either go right or don't happen at all.

MySQL doesn't support relational integrity constraints. To most of us, relational integrity is mostly a convenience that prevent programmers and users from introducing inconsistencies, such as creating orphan records.

MySQL does not support sub-selects, which you use for complex queries. This is being worked on for one of the upcomming releases of MySQL.

The are other things missing from MySQL (most notably: triggers, views, stored procedures), but most are up-and-coming features.

Resources for Programming MySQL Databases