我有一个庞大的数据库,包含80多个字段和2.5亿行的巨大表格。它还有35个索引!
这是一个很大的系统,即使是一天也无法停机。因此,作为优化性能的直接解决方案,我无法做到这一点:
所以我们需要一个单独的项目,我们可以实现我提到的一些可能性。我正在考虑一种暂时可以解决问题的方法。
例如,我可能需要批量插入400万行,之后一年内不会有这样的批量插入。但是在这样做的时候,我不能这样做。丢弃索引,因为它们被大量使用并且可能导致最大的问题。
对于批量插入,我可能在插入查询中使用了append
提示,以便稍后对这些行进行索引。但是我有十个应用程序在十个服务器上运行以进行批量插入,append hint
一次不能在一个以上的会话中工作。
目标
我的目标是从十个插入应用程序快速插入数据(不立即索引)。但同时旧数据索引正在为搜索操作正常工作。因此搜索很快就会发生。
到目前为止我尝试了什么
我在开发环境中尝试了一些东西,但可能没有正确地做到这一点。我制作了35个索引invisible
。打算快速插入,同时保持搜索速度更快,以适应先前已存在的数据。可能吗 ?我没有在开发环境中快速获得搜索结果,除非我对我正在做的事情100%肯定,否则不敢在生产中尝试。
如果有专家意见(或任何建议)可能有助于找到快速解决方案或我们可以在更长时间内使用的东西,那将是很棒的。