我正在尝试优化 SQL Server。我对 Mysql 有一些经验,通常有帮助的一件事是启用查询缓存,只要您运行相同的查询,它基本上会缓存查询结果。
SQL Server 上有类似的东西吗?你能指出这个功能的名称是什么吗?
谢谢!
我正在尝试优化 SQL Server。我对 Mysql 有一些经验,通常有帮助的一件事是启用查询缓存,只要您运行相同的查询,它基本上会缓存查询结果。
SQL Server 上有类似的东西吗?你能指出这个功能的名称是什么吗?
谢谢!
SQL Server 本身不缓存结果集,但除了缓存查询执行计划之外,它还缓存已读取的数据页。这意味着如果它必须再次读取相同的数据页来回答查询,它会更快,因为物理读取(从磁盘)更少,但您仍然应该看到相同数量的逻辑读取。 这是一篇更详细的文章。
SQL Server 将缓存查询结果,但它比 MySQL 的情况稍微复杂一些(因为 SQL Server 提供了 MySQL 不提供的 ACID 保证 - 至少,MyISAM 没有)。但是你肯定会发现,第二次在 SQL Server 上执行查询,它会比第一次更快(只要没有发生其他变化)。
我知道这个功能没有具体的名称。它更像是缓存的组合......