MySQLデータベースのサイズを縮小するにはどうすればよいですか?
MySQLなどのデータベースソフトウェアは、要求された情報の検索と配信を高速化するために、多くの場合、さまざまな技術を採用しています。 ほとんどの場合、これらの手法は、中間体として機能し、要求されたデータをより迅速に取得するために作成される一時データベースの形式を取ります。 これらの追加のデータベースの唯一の欠点は、余分なディスク領域を消費することです。 この記事では、MySQLデータベースのサイズを縮小するさまざまな方法を紹介します。
MySQLデータベースのサイズを下げるにはどうすればよいですか?
MySQLデータベースのサイズを小さくするために取ることができる二つの広範なアプローチがあります。 データベース構造を最適化するか、不要なデータを削除することができます。 以下では、両方の技術をより詳細に検討します。
MySQLデータベースの最適化はどのように機能しますか?
先に述べたように、MySQLデータベースは多くの場合、ルックアップクエリを高速化するために内部テーブルを作成します。 ただし、これらの追加テーブルは、新しいデータを追加して既存のエントリを変更すると、時間の経過とともに効果が低下します。 そのため、データベースを時々最適化することをお勧めします。 データベースの全体的なサイズを小さくするだけでなく、パフォーマンスの向上も見られる可能性があります。
共有ホスティングプラットフォーム上でデータベースを最適化するには、二つのオプションがあります。 あなたは私たちのデータベースマネージャの一部である私たちの1クリックオプティマイザを使用するか、phpMyAdminが提供するツールを使用して、より実践的に行
データベースマネージャを使用してMySQLデータベースを最適化するにはどうすればよいですか?
コントロールパネルのデータベースマネージャセクションのおかげで、特定のMySQLデータベース内のすべてのテーブルを簡単かつ迅速に最適化できます。 あなたが私たちの無料のウェブサイトのホスティング、プレミアム共有ホスティングまたは私たちの半専用のwebサーバーのいずれかを使用している場 データベースを最適化するには、次の手順に従います:
- 私たちのコントロールパネルのデータベースマネージャセクションに移動します。
- 最適化するデータベース名をクリックします。
- 管理タブを開きます。
- 1-click Optimizationというタイトルのオプションをクリックします。

上記の操作を実行すると、データベース内のすべてのテーブルが最適化されます。 データベースの使用状況の統計はリアルタイムでは更新されないため、データベースの使用状況にすぐに違いがないことに注意してください。 私たちのデータベースマネージャが提供している様々な機能の詳細については、データベースマネージャへの私たちの完全なガイドを通過することができます。
phpMyAdminを使用してMySQLデータベースのテーブルを最適化するにはどうすればよいですか?
すべてのテーブルを一挙に最適化するデータベースマネージャーとは異なり、phpMyAdminは、どのテーブルを最適化するか、どのテーブルを変更しないかをより細かく制御 以下では、phpMyAdminを使用してテーブルサイズを削減するための2つの手法、つまりOptimizeオプションとInnoDBストレージエンジンを使用するテーブルからのデータの圧縮
テーブルの最適化に加えて、phpMyAdminは、あなたが役に立つかもしれない他のオプションの茄多を提供します。 この便利なユーティリティの詳細については、phpMyAdminの概要を参照してください。
phpMyAdminの最適化機能を使用してテーブルサイズを縮小するにはどうすればよいですか?
phpMyAdminの最適化関数を使用してMySQLデータベース内のテーブルを最適化するには、以下の手順に従います:
- コントロールパネルのデータベースマネージャセクションを開きます。
- 最適化するデータベース名をクリックします。
- 管理タブを開きます。
- 以下に示すようにphpMyAdminオプションをクリックします:

- phpMyAdminが新しいタブで開き、データベースを構成するテーブルのリストが表示されます。 最適化するテーブルの前にチェックマークを配置します。
- 選択が完了したら、ドロップダウンメニューからテーブルの最適化オプションを選択します。 このオプションは、テーブルの保守セクションの一部です:

- Optimize tableコマンドを選択すると、自動的に実行され、SQLクエリが正常に実行されたことが表示されます。 メッセージ:

覚えておくべきことの一つは、Optimize tableオプションは、テーブルが使用しているストレージエンジンに応じて異なるアクションを実行することです。 そのため、オプションの効果はテーブルごとに異なる場合があります。 これは、異なるストレージエンジンを使用していて、一部のテーブルが定期的に編集され、他のテーブルは比較的変更されていない場合に特に当てはまり
MySQLデータベース内のデータを圧縮するにはどうすればよいですか?
先に述べたように、異なるストレージエンジンには異なる機能セットが付属しています。 InnoDBストレージエンジンの傑出した機能の1つは、情報を失うことなくデータを圧縮できることです。 圧縮は、テーブルに次のコマンドを使用する列がある場合に最も効果的です。TEXT
, BLO
, VARCHAR
, およびVARBINARY
データ型。
特定のテーブルで圧縮を実行するには、まず問題のテーブルがInnoDBストレージエンジンを使用していることを確認する必要があります。 この情報は、phpMyAdminのデータベース構造ビューで確認できます。 このビューは、下のスクリーンショットに示すように、データベース名をクリックすることで最も簡単にアクセスできます:

構造ビューに入ると、データベースに含まれているすべてのテーブルのリストが表示されます。 現在のストレージエンジンを示す列はTypeと呼ばれ、以下で強調表示されます:


そこに次のコードを貼り付けます:
ALTER TABLE my_table ENGINE = InnoDB;
必ずmy_table
を変換するテーブルの名前に置き換えてください。 この例では、orders
というテーブルを変換しているので、コマンドは次のようになります:
ALTER TABLE orders ENGINE = InnoDB;
コマンドを入力したら、右下隅にある[移動]ボタンをクリックして実行します。 成功した場合は、以下に示すような成功メッセージが表示されます:

ALTER TABLE my_table ROW_FORMAT=COMPRESSED;
テーブルの変換と同じように、my_table
をテーブルの実際の名前に置き換える必要があります。 例として、下のスクリーンショットでは、次のテーブルを圧縮していますorders
:

圧縮コマンドを入力したら、Goボタンを押して実行します。 複数のテーブルを圧縮する場合は、テーブルごとにSQLコマンドを実行して圧縮できます。

phpMyAdminを使用してテーブルを削除するにはどうすればよいですか?
ストレージ領域を解放する場合の他の代替手段は、不要になったデータをデータベースから削除することです。 個々のエントリまたはテーブル全体を削除できます。
テーブルを削除するには、データベースの構造タブに移動して、すべてのテーブルを表示します。 そこから、削除するテーブルの横にあるドロップオプションを選択し、選択を確認します。 この操作は元に戻すことができないため、削除を確認する前に正しいテーブルを選択したことを再確認してください。

データベーステーブル全体を削除することができない場合は、不要になった別のテーブルから個々のエントリを削除することを検討できます。 これは、さまざまなSQLコマンドを実行することで実現できます。 以下では、単一のデータベースエントリを削除できる非常に基本的なSQLコマンドを紹介します。

この例では、2つの行を持つ上記の表を使用します。 目標は、最初の行を保持しながら2番目の行を削除することです。
すべてのテーブルには、通常、指定されたエントリを識別する一意の番号を含むid列があります。 この例では、id列は実際にはid
と呼ばれていますが、テーブルでは列のタイトルとして別の単語が使用される場合があります。 各エントリの一意の識別子を格納する列を見つけたら、削除するエントリ(行)に関連付けられている値をメモします。 この情報を手元に置いて、SQLタブに切り替えて、次のSQLコマンドを実行します:
DELETE FROM my_table where id_column = 'my_id';
上記のコードでは、3つの置換を行う必要があります:
-
my_table
削除元のテーブルの名前に置き換える必要があります。 -
id_column
は、一意の識別子を格納する列の名前に置き換える必要があります。 -
my_id
は、削除する行の実際の識別子に置き換える必要があります。
この例ではproducts
テーブルを使用しています。 このテーブルにはid
列があり、削除するエントリの一意の識別子は2
です。 したがって、SQLコマンドは次のようになります:

Goボタンを押すと、SQLコマンドが実行され、削除が完了します。 これで、テーブルには2番目のエントリが含まれなくなりました:

WordPress、Drupal、Joomlaなどの最新のコンテンツ管理システムを使用している場合は、データ管理と削除にCMSのバックエンド管理ツールを使用することを検討する必 データベースからエントリを手動で削除するのが最後の手段です。
結論
ウェブサイトの所有者として、データベースの使用状況に目を離さないことは常に良い考えです。 これは、共有ホスティングプランを使用していて、データベースサイズに上限がある場合に特に当てはまります。 ストレージの制限に達すると、ウェブサイトには、困惑した”INSERT command denied to user”メッセージなど、あらゆる種類の警告やエラーメッセージが表示されることがあります。