MySQLを運用していると、さまざまなファイルやテーブルが予想していたよりも大きくなり、ストレージ容量を逼迫する問題が起こることがあります。また、クエリの結果セットが大きいためにネットワーク帯域が逼迫され、問題になることもあると思います。これらの問題はスケールアップ、データベースシャーディング、または圧縮機能などを使って解決できます。 今回はその中から、MySQLが提供しているさまざまな圧縮機能についてまとめて紹介します。MySQLではデータ、テーブル、バイナリログやデータ転送に圧縮機能を提供しています。 関数によるデータ圧縮 はじめに、関数によるデータを圧縮する方法を紹介します。 データ圧縮を行うのはCOMPRESS関数です。指定した文字列をzlibで圧縮して、その結果をバイナリ文字列として返します。展開するにはUNCOMPRESS関数を使用します。 文字コードの変換など発生を防ぐために