在BE的管理工具中,可以在“DB Check”下找到参考索引的检查或更新。对于大型安装,脚本通过命令行 (CLI) 启动,因此执行时间并不重要。
我的问题:
我认为这是一个有效的问题。虽然老了,我还是会尽力回答。
我的推荐:
绝对应该在进行重大更新之前运行或在运行低级清理器之前运行。
回答你的问题“真的有必要吗”。
引用索引包含记录之间的引用。例如,如果您将图像添加到内容元素,则引用索引将使用包含有关内容元素和图像之间引用的信息的记录进行更新(此外还有用于维护关联文件的表 sys_file_reference)。
这例如用于显示元素(在本例中为图像)具有的引用数量,当您尝试删除它时可能会触发警告。
如果您清空参考索引(我在生产中并不真正推荐这样做,但您可以在测试系统上执行此操作):
mysql>truncate sys_refindex;
这些引用将不会显示(直到您再次更新引用索引):
这是您没有问的事情,但我一直在问自己:在我的测试用例(将图像添加到内容元素)中,它会自动更新。我只是假设,可能存在核心功能/扩展在进行更改时无法正确更新参考索引。否则这真的没有必要。
最好就这样做(定期更新)。
参考索引的重要性重新成为人们关注的焦点,并且自 TYPO3 13.2 以来它的使用更加频繁:
TYPO3 v13 的参考索引变得更加重要:大多数 值得注意的是,它在前端中用于结构性能 改进。这需要一个有效的索引并使其保持最新 部署后必须进行以避免错误数据 前端和后端处理。
现在强烈建议在部署之后进行更新,但无论如何在 TCA 更改之后(“通常在添加、删除或更改扩展时,以及在 TYPO3 核心更新(也是补丁级别)之后”)。
TYPO3 v13.2 变更日志:重要:#103748 - 需要重建参考索引