我正在开发一个 ASP.NET MVC 应用程序。此应用程序由 200 个用户使用。这些用户不断(每 5 分钟)从 100,000 个项目的列表中搜索一个项目(该列表将每月增加 1-2%)。这个包含 100,000 个项目的列表存储在 SQL Server 表中。
搜索是通配符搜索
例如:
Select itemCode, itemName, ItemDesc
from tblItems
Where itemName like '%SearchWord%'
搜索需要非常快,因为主要业务依赖于搜索和选择项目。
我想知道如何获得最佳性能。搜索结果必须立即出现。
我试过的 -
我尝试将全部 100,000 条记录预加载到内存缓存中,然后从内存缓存中读取。我试图避免每次搜索都调用 SQL Server。
这需要很多时间。每次用户搜索项目时,我们都会从内存缓存中检索 100,000 条记录,然后进行搜索。这比直接 SQL 搜索花费的时间几乎多 2-3 倍。
我尝试对 SQL Server 表进行直接搜索,但一次将结果限制为 50 条记录(使用前 50 条)
这似乎没问题,但仍远未达到我们所寻求的性能
我想听听可能的解决方案和任何文章/代码的链接。
提前致谢