阅读提示
本文约 610 字,预计阅读 2 分钟。文中命令与配置均经过实测,可直接参考执行。
本文约 610 字,预计阅读 2 分钟。文中命令与配置均经过实测,可直接参考执行。
引言:数据库随语言数爆了
10 语言 × 5000 篇,postmeta 与 icl_translations 暴涨,备份变慢、查询变沉。治理要”去孤立 + 控规模 + 定期维护”。
原理分析:膨胀来源
- icl_translations:每内容每语言一行关联。
- postmeta 副本:每语言文章的 meta 各一份。
- 字符串翻译:主题/插件字符串按语言存。
- 孤儿翻译:删了原文但翻译关联残留。
保姆级实操
清理孤立:
-- 删无对应原文的翻译关联(示意,操作前备份)
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;备份用增量。
常见坑
- 不备份就清表,误删。
- 语言数失控,10+ 语言库炸。
- 案例:某站 8 语言删孤儿翻译 + OPTIMIZE 后库减 30%,备份快一倍。
- postmeta 重复存大对象,膨胀。
- 字符串翻译全量,不必要。
总结
判断标准:定期清孤儿、控语言数、OPTIMIZE、增量备份。行动清单:备份 → 清孤儿 → 控语言 → OPTIMIZE → 增量备。详见WPML 性能开销与优化设置。
觉得有用?点个赞支持一下
