私はビューを使用して単純化したいものに対して大きなクエリを実行しているデータベースを持っています。それらの多くがありますが、表には、基本的には、この(擬似コード)のようになります。SQL Serverのビューのデザイン
TABLE document (
Id int PRIMARY KEY,
/*more metadata columns*/
)
TABLE name (
Id int PRIMARY KEY,
documentId int FOREIGN KEY REFERENCES document.Id,
date DATETIME,
text varchar(MAX)
)
TABLE description (
Id int PRIMARY KEY,
documentId int FOREIGN KEY REFERENCES document.Id,
date DATETIME,
text varchar(MAX)
)
だから、アイデアは「文書」の表は、の残りの部分を結びつける文書とIDに関する基本的な情報が含まれていることですテーブルを文書に追加します。他のすべての表は、更新可能な文書の個々の属性用です。各更新は、タイムスタンプで独自の行を取得します。私が見たいと思っているのは、ドキュメントごとに1つの行で、各属性の最新のバージョンが他のテーブルに入っています(これ以上の詳細化や例が必要な場合は、私に知らせてください)。私はこれを取り除くことができる最も複雑な方法は何ですか? SQL Server 2008の使用。
@marc_s私はあなたの投稿を編集することに感謝しますが、タイトルを「SQL View design」から「SQL Server view design」に変更するとは信じられません。この問題の解決策はプラットフォームに依存しないものであり、Microsoft以外のデータベースソフトウェアを使用している人にとっては非常に便利です。 – joelmdev
高速で効率的なビューが必要な場合は、ポータブルなソリューションはありません。 "SQL Server"の事実は非常に重要です:これはMySQLの罪のように醜いです。例えば、 – gbn
MySqlの私の無知のために私を許しますが、マテリアライズドビューは同様のコードで同様のパフォーマンスを得ることはできませんか? – joelmdev