我有一些用 c#、mvc 和 mssql 编写的 Web 应用程序。
有一些表格可供用户选择某些产品。
表格中有两个网格。一个网格显示用户可以选择用于未来处理的产品。其他网格显示已选择的产品。这个工作是这样的:
1. 用户通过复选框从第一个网格中选择产品
2. 然后他单击按钮“添加”
3. 在此之后,网格被刷新。第二个网格显示添加的产品,第一个网格显示没有来自第二个网格的产品的所有产品。
目前数据库中有大约 50.000 种产品。当用户选择要添加的产品过多时,问题在于网格刷新。第一个网格的 Sql 看起来像:
SELECT ProductId, Name, Description, {other columns}
FROM Products
WHERE ProductId NOT IN ({ list of selected ProductId to add })
如果 { list of selected ProductId to add } 有很多元素(即 10.000),则 sql 语句执行时间过长,甚至超时。
我被困住了,不知道如何解决这个问题。任何帮助将不胜感激