lowlevel_refindex:最佳做法?

时间:2017-05-23 11:51:16

标签: typo3 command-line-interface

在BE的管理工具中,可以在“DB Check”下找到参考索引的检查或更新。对于较大的安装,脚本通过命令行(CLI)启动,因此执行时间无关紧要。

我的问题:

  • 更新refindex是否有意义或是否真的有必要?
  • 应该多久发生一次?
  • 如果之前的lowlevel_refindex进程仍在工作,如何阻止并行执行?
  • 是否有适合阅读的最佳做法?

1 个答案:

答案 0 :(得分:1)

我认为这是一个有效的问题。虽然年纪大了,但我会尽力回答。

何时运行

我建议:

  1. 在命令行(cli)上执行此操作通常是一种很好的做法。
  2. 如果您有权访问服务器,可以让它自动运行(例如通过cron)。让它在通常不那么繁忙的时间每天运行一次。您可以为仍在运行的进程添加检查,或检查锁定文件以查看之前的进程是否一直运行,但根据我的经验,这不是必需的。
  3. 它应该在之前运行进行重大更新(尽管我相信升级向导会确保告诉你)或运行低级清理程序之前。

    的用途

    回答你的问题“这是否真的有必要”。

    参考索引包含记录之间的引用。例如,如果将图像添加到内容元素,则使用包含有关内容元素和图像之间的引用的信息的记录更新引用索引(除了用于维护内容元素和表的 sys_file_reference 的表)相关文件)。

    例如,这用于显示元素(在本例中为图像)具有的引用数,当您尝试删除它时可能会触发警告。

    enter image description here

    如果你清空你的参考索引(我不会在生产中推荐,但你可以在测试系统上这样做):

    mysql>truncate sys_refindex;
    

    这些引用将不会显示(直到您再次更新refindex):

    enter image description here

    为什么参考索引不是最新的?

    这是你没有问的问题,但我一直在问自己:在我的测试用例中(向内容元素添加图像)它会自动更新。我只是假设,可能有核心功能/扩展在进行更改时无法正确更新引用索引。否则这不是必要的。

    最好这样做(定期更新)。