缓存查询怎么可能需要这么长时间。清除缓存需要 25000 毫秒(我知道这太长了,但这不是这里的问题)。缓存后,需要 2500 毫秒。这里可能是什么问题?如果它被缓存,我假设 Sql Server 将它从 RAM 中取出。所以,再一次,2500毫秒???
缓存查询怎么可能需要这么长时间。清除缓存需要 25000 毫秒(我知道这太长了,但这不是这里的问题)。缓存后,需要 2500 毫秒。这里可能是什么问题?如果它被缓存,我假设 Sql Server 将它从 RAM 中取出。所以,再一次,2500毫秒???
因为它可能需要这么长时间?
缓存意味着查询计划被缓存,而不是结果。如果缓存是次优的,或者您只有糟糕的索引或大量数据 - 为什么不呢?;) 我已经看到查询运行了几个小时 - 在计划确定之后。
现在,您可以在 VM 上使用它——我只能说 VM 通常完全不适合数据库。通常注意到它们有问题,但是当我计划一个合适的数据库服务器时,我会花时间考虑我的磁盘布局。我见过的大多数 VM 实现 - 忽略它。结果:糟糕的 IO。结果:处理缓慢。
抱歉,VM 并没有抽象出物理现实。
我真的会查看虚拟机——分配的 RAM、CPU、磁盘——然后深入到物理级别,看看磁盘如何转换为物理磁盘。