我们的应用程序有许多包含过时数据的表,有些表的历史可以追溯到 2010 年。尽管在这些表上定义了索引,但许多索引会寻求检索旧记录,这既耗时又不必要。因此,我们计划存档或删除旧记录,保留过去五年的数据。从数据库中归档或删除数据的推荐做法是什么?我们是否应该简单地将记录移动到一个新表中进行归档,然后将它们完全删除以进行删除?
主页
/
user-262734
JoeCharles's questions
JoeCharles
Asked:
2022-10-23 07:35:30 +0800 CST
我正在调整一个存储过程,当用户登录我们的网站时加载的第一页会使用该存储过程,并且该过程非常常用。当我第一次运行该程序时,它会在大约 10 到 12 秒内运行,但当我第二次运行它时,它会在 1 秒或更短的时间内执行。
我假设这是因为优化器第二次读取缓存页面。当我针对当前 proc 测试我的调整过程时,我必须在每次运行之间至少等待一个小时来测试它们的实际性能,而不使用任何缓存。
不幸的是,我没有释放缓存的选项,因为我们的 DBA 不允许这样做。这种类型的测试非常耗时,因为每次我进行一些更改时,我都必须等待至少一个小时来比较运行时间。
我很确定有更好的测试方法。你使用什么样的测试策略?现实世界的应用程序是使用缓存数据还是从磁盘读取?如果您能对此提供任何见解并提供一些文章,我将不胜感激。谢谢!