興味深いデザインの質問があります。私はプロジェクトのセキュリティ面を設計しています。これにより、さまざまなコストでさまざまなバージョンのプログラムを使用できるようになり、管理者タイプのユーザーがプログラムの一部へのアクセスを他のユーザーに許可または拒否できるようになります。それはウェブベースになり、私たちのサーバーでホストされます。
「リソース」または画面ごとに単純な許可または拒否オプションを使用しています。
多数のリソースが用意され、ユーザーはさまざまなグループを設定して、アクセスを制御するためにユーザーを配置できます。各ユーザーは、1 つのグループにのみ所属できます。
私はこれに対して 2 つのアプローチを念頭に置いており、パフォーマンスの点で SQL サーバーにとってどちらが優れているかを知りたいと思っていました。
オプション A アクセス テーブルにエントリが存在するということは、アクセスが許可されていることを意味します。これにより、情報を格納するためにデータベースに列が必要なくなります。結果が返されない場合、アクセスは拒否されます。
これはより小さなテーブルを意味すると思いますが、クエリはテーブル全体を検索して一致するものがないと判断しますか?
オプション B 許可/拒否を制御するデータベースにビット列が含まれています。これは、常に結果が見つかることを意味し、テーブルが大きくなります。
考え?