我们目前的系统架构像;
我们在数据库表中有大约500万条记录。根据需要,我们得到一个100万条记录的结果集,并在整个应用程序中将它们保存在缓存中,当我们完成后,将它们删除。
现在,不是使用.NET应用程序的内存,“是否可以使用内存表将这100万条记录保存在内存表中,而基于磁盘的表仍保留500万条记录?”
答案 0 :(得分:1)
这是可能的。性能仍然低于进程内数据。执行廉价SQL语句时最昂贵的事情之一就是执行任何操作(网络,序列化......)的所有开销。
您需要衡量(或充分了解)现在降低的性能是否足够。
如果现有系统没有问题,则无需更改任何内容。
答案 1 :(得分:0)
SQL Server已经内置了高级缓存算法。你的桌子有多大?现在有500万行不是那么大,整个表可能已经缓存到内存中,你可以只使用主键的SELECT查询。