如何在技术上识别索引重建?

时间:2016-03-15 14:31:06

标签: progress-4gl openedge progress-db

从理论上讲,只要索引字段被修改,我们就知道索引是重建的。但有没有办法使用进度数据库的任何命令来识别索引构建。

2 个答案:

答案 0 :(得分:0)

不,没有简单的,一刀切的命令,说“你需要重建索引”。

如果符合以下条件,则需要重建索引:

  • 您收到一条错误消息,指示您这样做。
  • 技术支持建议您这样做。
  • 您已执行转储&加载索引已停用。
  • 您希望启用以前停用的索引。
  • 索引利用率(如proutil dbanalsys报告所示)具有 跌至不可接受的水平(即低于70%,超过1000 索引块)
  • 对代码页或分词规则的某些更改

当字段更改时索引“重建”的断言不正确。如果字段是索引字段,那么一个或多个索引的相关部分也可能会更新以反映与字段更改相关的适当更改 - 但这与重建索引相差甚远。

答案 1 :(得分:0)

目前还不完全清楚你在寻找什么。有一个实用程序执行“索引重建” - 它遍历表中的所有数据并从头开始重新创建一个或多个索引。但我不认为这就是你所要求的,

您是否正在尝试确定更改记录时将更新哪些索引?这是可能的;它将涉及从数据字典中解析索引定义以确定每个索引中涉及哪些字段。然后,您需要在编写记录时跟踪哪些字段已更新。最后,您将使用更改字段列表来确定受影响的索引。

您是否只是想确定Progress是否正确更新您的指数?如果是这样,我想你有理由担心这一点。让我们知道它是什么,我们将尽力帮助您确定您的担忧是否有充分根据。

您想了解Progress如何存储索引数据吗?然后,正如汤姆所说,十六进制编辑器是你的朋友。网上还有其他地方可能会找到内外都知道这些东西的人;其中包括PEG mailint列表和Progress Community。您可以在那里获得更多技术细节。

您是否想了解有关进展指数的更多信息?有一些白皮书讨论它们 - 但主要是从“在查询中使用哪个索引”的观点。一般来说,索引更新过程被认为是正常工作。

如果是其中之一,请告诉我们,我们会为您填写详细信息。如果它是其他的东西,也许你可以再次尝试提问。我们会尽力帮助。