- MariaDB Cookbook
- Daniel Bartholomew
- 352字
- 2021-07-16 12:19:25
Migrating a table from MyISAM to Aria
MariaDB ships with the MyISAM and Aria storage engines, among many others. The main difference between these two is that Aria is crash safe, whereas MyISAM is not. Being crash safe means that an Aria table can recover from catastrophic power loss or other unexpected failures in a much better way than a MyISAM table can. If we use MyISAM tables, an easy upgrade is to convert them to Aria tables.
Getting ready
Import the ISFDB
database as described in the Importing the data exported by mysqldump recipe in this chapter.
How to do it...
- Open the
mysql
command-line client and connect to theisfdb
database. - Run the following command line:
ALTER TABLE authors ENGINE=Aria;
- The
ALTER
command will then change the table so that it uses the Aria storage engine. - After it has finished, a message similar to the following will be displayed:
Query OK, 110829 rows affected (3.14 sec) Records: 110829 Duplicates: 0 Warnings: 0
- If our system is older or is under heavy load and it takes longer than 5 seconds for
ALTER TABLE
to complete, we'll see a progress message letting us know how much of the task has been completed, updated every 5 seconds, until the task is finished.
How it works...
The ALTER TABLE
command changes a table in two stages. First, it creates a new table identical in every way to the old table, except that the new table has the changes specified by the command. In our case, the only change is to use the Aria storage engine instead of the MyISAM storage engine. Then, the command copies all of the data to the new table.
In the second stage, ALTER TABLE
removes the old table and renames the new table with the name of the old table.
On a table like authors
that only has around a hundred thousand rows, the conversion is quick and easy; however, on a table with several billion rows, the conversion process will take significantly longer.
See also
- The full documentation of the
ALTER TABLE
command can be found at https://kb.askmonty.org/en/alter-table/
- Mastering Concurrency Programming with Java 8
- Oracle 12c中文版數據庫管理、應用與開發實踐教程 (清華電腦學堂)
- Production Ready OpenStack:Recipes for Successful Environments
- Apache Mesos Essentials
- Drupal 8 Module Development
- Responsive Web Design by Example
- 編程數學
- 零基礎輕松學SQL Server 2016
- Java EE 7 Performance Tuning and Optimization
- C/C++程序員面試指南
- D3.js By Example
- Visual Studio 2015高級編程(第6版)
- Odoo 10 Implementation Cookbook
- 零代碼實戰:企業級應用搭建與案例詳解
- JQuery風暴:完美用戶體驗