C#、mvc、および mssql で記述された Web アプリケーションがあります。
ユーザーがいくつかの製品を選択できるフォームがあります。
フォームには 2 つのグリッドがあります。1 つのグリッドには、ユーザーが将来の処理のために選択できる製品が表示されます。他のグリッドには、すでに選択されている製品が表示されます。これは次のように機能します
。 1. ユーザーがチェックボックスで最初のグリッドから製品を選択します
。 2. 次に、[追加] ボタンをクリックします
。 3. この後、グリッドが更新されます。2 番目のグリッドには追加された製品が表示され、最初のグリッドには 2 番目のグリッドからの製品がないすべての製品が表示されます。
現在、データベースには約 50.000 の製品があります。問題は、ユーザーが追加する製品を選択しすぎると、グリッドが更新されることです。フリスト グリッドの Sql は次のようになります。
SELECT ProductId, Name, Description, {other columns}
FROM Products
WHERE ProductId NOT IN ({ list of selected ProductId to add })
{追加する選択された ProductId のリスト} に多くの要素 (つまり、10.000) がある場合、SQL ステートメントの実行時間が長すぎるか、タイムアウトになることさえあります。
私はこれに行き詰まり、その問題を解決する方法がわかりません。どんな助けでも大歓迎です