3

患者のフォルダーを管理するための多層 Web アプリがあります。各フォルダーには多数のモジュールがあります。私がやりたいことは、すべてのモジュール、すべての患者、各ユーザーの変更を追跡することです。

だから私はこれのために db テーブルを設計しようとしています.1,500 万行までエスカレートすると見積もっています。テーブルは、id となる主キー (int)、モジュール、患者のフォルダー、およびユーザー (すべて int) の id を持つ 3 つの外部キー、および 0/1 値を持つ 1 つの単純なフィールドで構成されます。 .

その後、ログインしているユーザーは、アプリ内を移動しているときに、フォルダーとモジュールのカラー コードで更新について頻繁に通知されます。そのため、(単純な選択クエリを使用して) データベースに頻繁にクエリを実行し、ユーザー エクスペリエンスを標準 (応答時間 ~ 1 秒以下) に保つためにかなり高速にしたいと考えています。

パフォーマンスについて懸念する必要はありますか? 4 GB RAM を搭載したクアッド コア XEON で MS SQL Server 2008 R2 を使用しています。

前もって感謝します:)

4

1 に答える 1

1

15M 行のテーブルのスキャンには通常、1 秒もかかりません。したがって、あなたの質問が単一の独立した要求に関するものであれば、そのような状況では問題ないと思います.

ただし、将来のニーズとパフォーマンスの向上のために、列 "fk_user_id"、"fk_mod_id"、"fk_folder_id" に非クラスター化インデックスを追加することを検討してください。selectステートメントのパフォーマンスが大幅に向上すると思います(更新のパフォーマンスが低下するという犠牲を払って)。

于 2013-04-10T12:47:07.027 に答える