この投稿のコマンドは、MySQLおよびMariaDBサーバーで機能します。
データベースのメンテナンスを時々実行することをお勧めします。 1つは、テーブルを最適化することです。 2つのオプションがあります:
1。テーブルの最適化 コマンド
テーブルデータおよび関連するインデックスデータの物理ストレージを再編成して、ストレージスペースを削減し、テーブルにアクセスするときのI/O効率を向上させます。各テーブルに加えられる正確な変更は、そのテーブルで使用されるストレージエンジンによって異なります。
使用方法は以下をご覧ください。
root@web [~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 3670
Server version: 10.1.22-MariaDB MariaDB Server
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> use roundcube
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [roundcube]> OPTIMIZE TABLE cache;
+-----------------+----------+----------+-------------------------------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+-----------------+----------+----------+-------------------------------------------------------------------+
| roundcube.cache | optimize | note | Table does not support optimize, doing recreate + analyze instead |
| roundcube.cache | optimize | status | OK |
+-----------------+----------+----------+-------------------------------------------------------------------+
2 rows in set (0.04 sec)
MariaDB [roundcube]> quit
Bye
root@web [~]#
同じデータベースの複数のテーブルに対してコマンドを実行する場合は、次を使用します。
OPTIMIZE TABLE table1,table2,table3;
OPTIMIZE TABLEは、InnoDB、MyISAM、およびARCHIVEテーブルで機能します。
2。 mysqlcheck コマンド
mysqlcheckクライアントはテーブルのメンテナンスを実行します。テーブルのチェック、修復、最適化、または分析を行います。
1つのテーブルをチェックするには、次を使用します。 mysqlcheck db_name tbl_name
データベースからすべてのテーブルをチェックするには: mysqlcheck –databases db_name
サーバー上のすべてのデータベースのテーブルを確認するには: mysqlcheck –all-databases
データベーステーブルがロックされていることに注意してください mysqlcheckの実行中。テーブルにレコードを挿入したり、テーブルからレコードを削除したりすることはできません。
root@web [~]# mysqlcheck roundcube
roundcube.cache OK
roundcube.cache_index OK
roundcube.cache_messages OK
roundcube.cache_shared OK
roundcube.cache_thread OK
roundcube.contactgroupmembers OK
roundcube.contactgroups OK
roundcube.contacts OK
roundcube.cp_schema_version OK
roundcube.dictionary OK
roundcube.identities OK
roundcube.searches OK
roundcube.session OK
roundcube.system OK
roundcube.users OK
root@web [~]#
データベースを最適化するには、次を使用します。
root@web [~]# mysqlcheck -o roundcube
roundcube.cache
note : Table does not support optimize, doing recreate + analyze instead
status : OK
roundcube.cache_index
note : Table does not support optimize, doing recreate + analyze instead
status : OK
roundcube.cache_messages
note : Table does not support optimize, doing recreate + analyze instead
status : OK
roundcube.cache_shared
note : Table does not support optimize, doing recreate + analyze instead
status : OK
roundcube.cache_thread
note : Table does not support optimize, doing recreate + analyze instead
status : OK
roundcube.contactgroupmembers
note : Table does not support optimize, doing recreate + analyze instead
status : OK
roundcube.contactgroups
note : Table does not support optimize, doing recreate + analyze instead
status : OK
roundcube.contacts
note : Table does not support optimize, doing recreate + analyze instead
status : OK
roundcube.cp_schema_version Table is already up to date
roundcube.dictionary
note : Table does not support optimize, doing recreate + analyze instead
status : OK
roundcube.identities
note : Table does not support optimize, doing recreate + analyze instead
status : OK
roundcube.searches
note : Table does not support optimize, doing recreate + analyze instead
status : OK
roundcube.session
note : Table does not support optimize, doing recreate + analyze instead
status : OK
roundcube.system
note : Table does not support optimize, doing recreate + analyze instead
status : OK
roundcube.users
note : Table does not support optimize, doing recreate + analyze instead
status : OK
root@web [~]#
サーバーですべてのデータベースを最適化するには:
root@web [~]# mysqlcheck -o -A
リソース:
OPTIMIZETABLEマニュアル
mysqlcheckマニュアル