Cravatar 的 qq 邮箱 HASH 表是采用的这种分表模式,但这种模式需要根据业务定制开发,目前没检索到有现成的插件可以直接支持这样干。
通常的做法是重写 wpdb 来实现。对于涉及到数据列表展现、数据搜索的需求,则使用 ES 实现,而 ES 自带切片和集群化的功能,不会受数据量影响。
但就像前面说的,这需要根据业务定制开发,因为你所用的插件主题的代码是不可控的,一套通用的分表算法很难对此兼顾。
比较好的方案就是前面提到的 MySQL 自带的分区方案。对于分库,WordPress 有现成的解决方案:HyperDB,这个插件是帮你做数据库负载均衡的,你可以设置一个写库和多个读库,宝塔我没记错的话带了数据库主从复制功能,这俩可以配合用。
未来 LitePress.cn 的数据承载量达到极限的话我们会进行相关的开发,到时候可以把代码共享出来,但是不一定适合你的业务,大概率是需要再根据你自己的业务来定制的。