问题背景:我正在为我的网站实施缓存系统。目前我们正在探索 memcache 作为一种方法。但是,我想看看 SQL Server 是否存在类似的东西。我知道 MySQL 有查询缓存,虽然它不是分布式的,但它可以作为一种“权宜之计”措施。MySQL 查询缓存是否等同于 SQL Server 中的缓冲区缓存?
所以这是我的问题:
- 有没有办法知道当前存储在缓冲区缓存中?
- 跟进这个,有没有办法强制某些表或结果集进入缓存
- 我对缓冲区和过程缓存中发生的事情有多少控制权?我知道曾经有一个 DBCC PINTABLE 命令,但后来已经停止了。
- 稍微偏离主题:缓存是否应该存在于数据库层?还是使用 Velocity/Memcache 管理缓存更谨慎?是这样,为什么?在处理具有重叠触发器的许多对象时,似乎缓存失效是一件痛苦的事情。
谢谢!