Hash::Compactという、HashRefのkey/valueを、keyのエイリアスやデフォルトのvalueをサポートすることでコンパクトに表現できるモジュールがあります。ドキュメントにはCache::Memcached::Fastでの利用例が示されているのですが、今回はそれをDBで使う例を紹介します。必ずしもORMが必要なわけではないのですが、説明の簡単のために、Tengを使います。 テーブル structカラムに、JSONでシリアライズしたHashRefを格納する、以下のようなテーブルがあったとします。 CREATE TABLE `data` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `struct` blob, PRIMARY KEY (`id`) ); Tengでのスキーマ定義 今回はTengを使うので、以下のようなスキ