【发布时间】:2018-04-20 12:28:40
【问题描述】:
我有一个 WordPress 多站点,用户可以创建自己的博客并发布文章。我遇到的问题是每个新博客创建大约 10 个表,而 InnoDB 限制为 4b 个表。有什么方法可以强制多站点不创建这些表?
【问题讨论】:
我有一个 WordPress 多站点,用户可以创建自己的博客并发布文章。我遇到的问题是每个新博客创建大约 10 个表,而 InnoDB 限制为 4b 个表。有什么方法可以强制多站点不创建这些表?
【问题讨论】:
您无法停止创建新表的多站点安装,因为站点必须在那里才能工作。创建新站点时,它需要创建一组新的唯一表来存储新站点数据并使用唯一前缀(例如站点 4 的 wp_4_options 等)。
有一种称为sharding 的方法,您可以在其中将表拆分为多个数据库。我相信 Automattic 使用 HyperDB plugin 在 WordPress.com 上实现这一目标。
这可能是确保表格均匀分布的最佳方式,这样您就不会达到限制。虽然每个站点都可能有一组表,但您需要修改数据库结构,这很糟糕并且可能会变得混乱。
【讨论】: