タグ付けされた質問 「index-design」

1
DynamoDBで複数のテーブルを使用する場合
DyanmoDBのベストプラクティスにより、次のことが明確になります。 DynamoDBアプリケーションでは、できるだけ少ないテーブルを維持する必要があります。ほとんどの適切に設計されたアプリケーションは、1つのテーブルのみを必要とします。 私がDyanmoDBを扱うのを見たほとんどすべてのチュートリアルがマルチテーブル設計を持っていることは、それから面白いと思います。 しかし、これは実際にはどういう意味ですか? ユーザー、プロジェクト、ドキュメントという3つの主要エンティティを持つ単純なアプリケーションを考えてみましょう。ユーザーは複数のプロジェクトを所有し、プロジェクトには複数のドキュメントを含めることができます。通常、ユーザーのプロジェクトとプロジェクトのドキュメントを照会する必要があります。読み取りは書き込みの数を大幅に上回ります。 素朴なチュートリアルのテーブルデザインでは、3つのテーブルを使用します。 Users Hash key user-id Projects Hash key Global Index project-id user-id Documents Hash key Global Index document-id project-id 簡単に折り畳んProjectでDocument1つのDocumentsテーブルにすることができます。 Documents Hash key Sort key Global Index project-id document-id user-id しかし、なぜそこで停止するのですか?1つのテーブルですべてを統治しないのはなぜですか?Userがすべての根であるため... Users Hash key Sort key user-id aspect --------- --------- foo user email: foo@bar.com ... …

1
インデックス列の順序のWHERE-JOIN-ORDER-(SELECT)ルールは間違っていますか?
より大きなクエリの一部であるこの(サブ)クエリを改善しようとしています。 select SUM(isnull(IP.Q, 0)) as Q, IP.OPID from IP inner join I on I.ID = IP.IID where IP.Deleted=0 and (I.Status > 0 AND I.Status <= 19) group by IP.OPID Sentry Plan Explorerは、上記のクエリによって実行された、テーブルdbo。[I]の比較的コストのかかるキールックアップを指摘しました。 テーブルdbo.I CREATE TABLE [dbo].[I] ( [ID] UNIQUEIDENTIFIER NOT NULL, [OID] UNIQUEIDENTIFIER NOT NULL, [] UNIQUEIDENTIFIER NOT NULL, [] …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.