私は答えを見つけましたが、見つかりませんでした。postgresのテーブル名として選択した値を使用します
ので、私は名前を入力し保持するテーブルtypes
CREATE TABLE types
(
type_id serial NOT NULL,
type_name character varying,
CONSTRAINT un_type_name UNIQUE (type_name)
)
を持って、users
を言うことができます - そしてこれは、テーブルusers
対応の名前です。このデザインは少し醜いかもしれませんが、ユーザーが独自のタイプを作成できるようにしました。 (これをacheveには良い方法はありますか?)
は今、私はこの1つのようなクエリを実行したい:
select type_name, (select count(*) from ???) from types
は、各タイプのオブジェクトのすべての種類の名前と数のリストを取得します。
これはできますか?
素晴らしい!私はこの関数で何が起こっているのか理解しています:)私は関数なしでこれを行うことができると思いました。 **パフォーマンス上の理由から、**すべてのタイプの追加テーブルが必要です - 小さなテーブルはより効果的にインデックス化できますafaik – k102
@ k102:インデックスは大きな(または巨大な)テーブルでうまく動作します。それが彼らのために作られたものです。小さなテーブルでは、索引をまったく使用するよりも順次読み取りが高速になることがよくあります。 –