現在、ユーザーが入力したアイテムのリストを検証するために、アイテムのテーブルを検索する必要があります。
項目のテーブルには、ItemId (ユーザーが入力した値に対応) と呼ばれる各項目の一意の主キーが含まれています。
10000 (1 万) 行のテーブルがある場合、ItemId 列を検索し、ユーザーが入力した項目のいずれかがテーブルに存在しないかどうかを判断する最も効率的な方法は何でしょうか?
たとえば、次の表があるとします。
ItemId Color Price
1000 Blue 3.00
1001 Red 4.00
1003 Green 1.25
そして、ユーザーは次のように入力します:
1000 1001 1002
エラーをスローして、アイテムの 1 つ (1002) が無効であることをユーザーに警告したいと思います。無効なアイテムを具体的に特定する必要はありません。テーブルに 1 つ以上のアイテムが存在しないことだけを確認してください。IF NOT EXISTS と EXCEPT を使用してみましたが、効率の点で「ベスト プラクティス」の感触が得られません。通常、私は実行計画を検討しますが、どこから始めればよいのかよくわかりません。あらゆる提案をいただければ幸いです。