全く同じ構造の1000個のエンティティがあるとします。同じ構造のテーブルが多いか、多くの行があるテーブルが1つ多いのですか?
String id;
String name;
int amount;
はまた、私は、システム内のエンティティのすべての種類の膨大な量があることを期待しています。たとえば、すべてのエンティティは、次の3つのフィールドを持っています。
だから私は今、二つの変種があります。各エンティティの
は次のようになり、別のテーブルを作成:
CREATE TABLE <SOME_ENTITY_NAME> ( id text PRIMARY KEY, name text, amount int )
を、私は1つのテーブルのみを作成しますが、複合priamryキーでます:
CREATE TABLE ALL_ENTITIES_TABLE ( entity_name text, id text, name text, amount int, PRIMARY KEY ((entity_name, id)) );
もちろん、1つのテーブルだけをサポートするほうが簡単ですが、パフォーマンスはどうですか?
したがって、エンティティの種類ごとに数百万(数十億もの)のレコードがあることを考慮して、パフォーマンスの点でどのような変種が優れているのでしょうか?
あなたのアクセスパターンは...とにかく第2のアプローチははるかに優れています.... 'WHERE entity_name = ''とid = '''は効率的に2番目のテーブルで処理されます...異なるユースケース...ユースケースを共有する –