在客户端数据库的Sybase v10上,此查询似乎运行速度极慢(400万条记录为25秒!):
Select max(tnr) from myTable;
以tnr为主键。
如果我在我们的服务器上运行1000x,它似乎快速(15毫秒......)这让我认为这是因为查询结果被缓存。有没有办法在Sybase中为此查询(或整个数据库)禁用缓存以重现此问题?
我试过了:
call sa_flush_cache ();
call sa_flush_statistics ();
但似乎没有做到这一点。
答案 0 :(得分:1)
不幸的是,dbcc cacheremove不会工作,因为它不会从缓存中清除页面,而是删除描述符并将其放回到自由链上。
除了重新启动数据服务器之外,执行此操作的唯一方法是将对象绑定到缓存,然后执行测试,然后取消绑定将从缓存中删除所有页面的对象。
答案 1 :(得分:0)
尝试dbcc cacheremove