Chapter 2. Storage Engines (Table Types)
One powerful aspect of MySQL that sets it
apart from nearly every other database server is that it offers users
many choices and options depending upon the user's
environment. From the server point of view, its default configuration
can be changed to run well on a wide range of hardware. At the
application development level, you have a variety of data types to
choose from when creating tables to store records. But
what's even more unusual is that you can choose the
type of table in which the records will be stored. You can even mix
and match tables of different types in the same database!
 |
Storage engines used to be called table types. From time to time we
refer to them as table types when it's less awkward
to do so.
|
|
In this chapter, we'll show the major differences
between the storage engines and why those differences are important.
We'll begin with a look at locking and concurrency
as well as transactions—two concepts that are critical to
understanding some of the major differences between the various
engines. Then we'll discuss the process of selecting
the right one for your applications. Finally, we'll
look deeper into each of the storage engines and get a feel for their
features, storage formats, strengths and weaknesses, limitations, and
so on.
Before drilling down into the details, there are a few general
concepts we need to cover because they apply across all the storage
engines. Some aren't even specific to MySQL at all;
they're classic computer science problems that just
happen to occur frequently in the world of multiuser database
servers.
|