搜索全站
multilingual 2 分钟阅读

多语言数据库膨胀治理:翻译表与 postmeta 增长

多语言站数据库随语言数翻倍增长(icl 表、postmeta 副本、字符串),讲清膨胀来源与治理:清理孤立翻译、优化表、控制语言数,避免备份慢与查询沉。

U
UFO_PF 2023-07-24 · 阅读 2 分钟
多语 MULTILINGUAL
阅读提示
本文约 610 字,预计阅读 2 分钟。文中命令与配置均经过实测,可直接参考执行。

引言:数据库随语言数爆了

10 语言 × 5000 篇,postmeta 与 icl_translations 暴涨,备份变慢、查询变沉。治理要”去孤立 + 控规模 + 定期维护”。

原理分析:膨胀来源

  1. icl_translations:每内容每语言一行关联。
  2. postmeta 副本:每语言文章的 meta 各一份。
  3. 字符串翻译:主题/插件字符串按语言存。
  4. 孤儿翻译:删了原文但翻译关联残留。

保姆级实操

清理孤立:

-- 删无对应原文的翻译关联(示意,操作前备份)
DELETE t FROM wp_icl_translations t
LEFT JOIN wp_posts p ON t.element_id=p.ID AND t.element_type LIKE 'post_%'
WHERE p.ID IS NULL;

控语言数(非核心市场用机翻或不建独立库);定期 OPTIMIZE TABLE;备份用增量。

常见坑

  1. 不备份就清表,误删。
  2. 语言数失控,10+ 语言库炸。
  3. 案例:某站 8 语言删孤儿翻译 + OPTIMIZE 后库减 30%,备份快一倍。
  4. postmeta 重复存大对象,膨胀。
  5. 字符串翻译全量,不必要。

总结

判断标准:定期清孤儿、控语言数、OPTIMIZE、增量备份。行动清单:备份 → 清孤儿 → 控语言 → OPTIMIZE → 增量备。详见WPML 性能开销与优化设置。

U
UFO_PF作者

专注 WordPress 生态的实战作者,内容以「可复制、可验证」为第一原则。

留下你的想法

邮箱地址不会被公开。带 * 的为必填项。