2017-08-11 17 views
0

OrientDBの新機能です。ネストされたフィールドを持つ大きなデータを挿入および取得する構造を作成しようとしています。適切な解決法やガイドラインが見つかりませんでした。OrientDB CRUD for large and nested data

これは私が作成したいテーブルの構造である:今

{ 
    UID, 
    Name, 
    RecordID, 
    RecordData: [ 
    { 
     RAddress, 
     ItemNo, 
     Description 
    }, 
    { 
     RAddress, 
     ItemNo, 
     Description 
    }, 
    { 
     RAddress, 
     ItemNo, 
     Description 
    } 
    ....Too many records.... 
    ] 
}, 
{ 
    UID, 
    Name, 
    RecordID, 
    RecordData: [ 
    { 
     RAddress, 
     ItemNo, 
     Description 
    }, 
    { 
     RAddress, 
     ItemNo, 
     Description 
    }, 
    { 
     RAddress, 
     ItemNo, 
     Description 
    } 
    ....Too many records.... 
    ] 
} 
....Too many records.... 

、私は大量にITEMNOとRAddressをquryingことにより、テーブルから説明フィールドを取得したいです。 exapmpleでは、説明データを取得したいデータに基づいて、UIDまたはRecordIDとItemNoまたはRAddressのペアが50K(50000)あります。私がしたいのは、できるだけ速い方法です。だから誰でも私にこの仕事のための良い質問を提案できますか?

私は500Mのレコードを持っていますが、ほとんどのレコードには10-12ワードが含まれています。

誰でもCRUDクエリを提案できますか?

ありがとうございます。あなたのようなcontentを使用して単一のレコードを作成することもできます

答えて

0

INSERT INTO Test CONTENT {"UID": 0,"Name": "Test","RecordID": 0,"RecordData": {"RAddress": ["RAddress1", "RAddress2", "RAddress3"],"ItemNo": [1, 2, 3],"Description": ["Description1", "Description2", "Description3"]}} 

あなたが埋め込まれた値を使い始めるだろうとあなたは一括挿入を行いたい場合はJSONは、しかし、あなたが書く必要があること多くの方法がありますが、スタジオに滞在する場合は、[機能]タブを選択します。取り出す部分については

SELECT RecordData[Description] FROM Test WHERE (RecordData[ItemNo] CONTAINSTEXT "1") AND (RecordData[RAddress] CONTAINSTEXT "RAddress1")