理解を助けるために、私は電子メールが Db に保存され、ドラフトにできる、またはできないいくつかの電子メール システムに取り組んでいます。
問題:
次の構造を持つ2つのテーブルがあります
tblUsers
=========
Id - PK
Fname
.
tblMails
=========
Id - PK
UserId - F.K. tblUsers.Id
isDraft - Bit(boolean) field, default = 0
特定の UserId について、「tblMails」内のすべてのメールと下書きを安全に検索する必要があります。これを達成するには、次の 2 つの方法があります。
「isDraft」フィールドに基づいて「tblMails」からすべてのレコードを選択する「showMails」と「showDraft」の 2 つのビューを作成できます。その後、ビューに「WHERE」条件を適用して、特定のユーザーの詳細を取得できます。
ビューを記述する代わりに、コードのいたるところに「isDraft=1」または「isDraft=0」を適用します。
レコードを取得するために必要な計算サイクルを考慮すると、どちらがより適切でしょうか?