MySQLに保存するためにTEXTを圧縮したい。したがって、phpでgzcompress()を実行してからmysqlに送信しますが、Sphinx全文検索も設定しているので、インデックスに単純なクエリを入力できると便利です。
select uncompress(thing) from table
ただし、mysqlではなくphpでアプリケーションの圧縮と解凍を行い、スフィンクスのインデックス作成にはmysql uncompress()関数のみを使用したいと思います。
mysqlのドキュメントには、その圧縮機能について次のように記載されています。
空でない文字列は、圧縮されていない文字列の4バイト長(下位バイトが最初)として格納され、その後に圧縮された文字列が続きます。
だから私の質問は...この4バイトの長さの非圧縮文字列をどのように構築するのですか?その後、圧縮されたBLOBは、php gzcompress()関数の結果と同じようになります。