これに対する通常のアプローチは次のとおりです。
- EAV
- hstore
- XML
- JSON
参照:
「列を他のユーザーが利用できるようにする」こと全体では、ユーザーが以前に使用されていないキーを定義するたびに追加する「カスタムキー」テーブルを保持する必要があります。
動的DDLを使用して列を追加することは、最初は合理的に聞こえますが、格納できる列の数と行の「幅」には制限があります。列を追加すると、テーブルのスキャンのパフォーマンスが低下しますが、ほとんどがnullである「スパース」列は比較的安価です。列を追加するには排他ロックが必要です。これは、ビジー状態のシステムに入るのに時間がかかる可能性がありますが、 NOT NULL DEFAULT ...
> 。最初はかなりうまくいくでしょうが、後で後悔するのではないかと思います。