我们目前有一个 20GB SGA 空间的数据库。SQL 已经过优化,但也必须对其用例进行统计,并且一些查询非常非常慢,特别是当大型结果集作为文本索引搜索的结果返回时,然后由 db 文件顺序读取获取。这会导致应用程序超时,我们的用户会抱怨它们。我们的存储速度很慢,我们无法改变这一点,很遗憾(IO 请求的峰值在 15 到 20 毫秒时很慢)。现在的想法是将这些表(总共 8GB)放入 KEEP 池中,并为数据库提供 16GB 的额外 RAM。此外,我们将在系统上打开大页面。
您认为这是解决问题的好方法吗?有没有我们应该注意的不可预见的陷阱?将桌子放入 KEEP Pool 是否容易?他们会留在 KEEP 池中,还是 Oracle 可能只是忽略存储语句?
数据库版本为 11.2.0.3.0