SqlServer 内存表可以用 ASP.NET 缓存替换吗?

Can SqlServer in-memory tables be replacement with ASP.NET cache?

我们当前的系统架构如下;

我们在数据库中有大约 500 万条记录 table。根据需要,我们得到,比如 100 万条记录的结果集,并将它们保存在整个应用程序的缓存中,完成后,将它们删除。

现在,不再使用 .NET 应用程序的内存,"Is it possible to use in-memory tables to keep those 1 million records in an in-memory table whilst disk based table still keeps 5 million records?"

这是可能的。性能仍将低于进程内数据。执行便宜的 SQL 语句时最昂贵的事情之一就是执行任何事情(网络、序列化……)的所有开销。

您需要衡量(或充分了解)现在降低的性能是否仍然足够。

如果现有系统运行没有问题,则无需更改任何内容。

SQL服务器已经内置了高级缓存算法。你的 table 有多大?现在 500 万行并没有那么大,整个 table 可能已经缓存到内存中,您可以只使用 SELECT 主键查询。