空のテキストをテーブルに保存することはできません。したがって、私はドメインタイプを作成しました:Postgresカスタムドメインタイプとユニーク
CREATE DOMAIN non_empty_text AS TEXT CHECK(VALUE ~ '\S');
そしてすべてのテキストタイプをnon_empty_textに変更しました。
これまでのところとても良いです。しかし、タイプをテキストに戻して、ユニークなインデックスと空の値を持つ行を作成すると効率的でしょうか?
空のテキストをテーブルに保存することはできません。したがって、私はドメインタイプを作成しました:Postgresカスタムドメインタイプとユニーク
CREATE DOMAIN non_empty_text AS TEXT CHECK(VALUE ~ '\S');
そしてすべてのテキストタイプをnon_empty_textに変更しました。
これまでのところとても良いです。しかし、タイプをテキストに戻して、ユニークなインデックスと空の値を持つ行を作成すると効率的でしょうか?
あなたのドメインへのアプローチは正しいと思います。ユニーク制約の代替案は興味深いアイデアですが、時期尚早の最適化を検討します。
ユニークなインデックスは、完全ではない何かがあり、空でない値をチェックしています –
技術的にはい。しかし、すべての禁止された値を持つ行を作成すると、これ以上追加することはできません。明らかにひどい醜いxD – velop
チェック条件を 'VALUE <>' ''に変更して、読みやすく、読みやすくすることを検討してください。 –