FYI我最初在Wordpress开发网站上发布了这个问题:
https://wordpress.stackexchange.com/questions/145861/how-to-split-the-wordpress-database
我有一个网站,用来记录客户和膳食信息。它基于Wordpress,但有相当多的自定义代码。我们为客户和膳食数据设置了自定义分类法。
我们的问题是,数据库已经变得相当大,它导致网站运行非常缓慢。我想基本上将数据库的不同年份存档到单独的数据库中,以便我们仍然可以在需要时引用一些数据,但减少活动年份的数据库大小。
我已经搜索了一个可以这样做的归档工具或插件,但是没有找到任何东西(大多数结果都是针对Wordpress档案--而不是从Wordpress数据库中归档数据的实际过程)。例如,在我的数据库中,"postmeta“表当前有2,656,529行,”post“表有241,725行,"term_relationships”表有1,164,119行。数据库的整个大小是356.7 MB。
我们已经为前端管理员创建了自定义报告,以便能够生成餐饮和客户端报告,但是如果您选择一个超过1个月的日期范围,它们现在就会中断。
FYI -我已经运行了WP优化插件,并删除了所有的后修订已经(这是非常少的开始)。我需要做的实际上是把这些数据库中的表格分开,这样2012年记录的所有膳食都是从2013年分开的,而2013年需要从2014年开始分开。
有人对我们如何控制数据库有任何建议吗?
发布于 2014-05-29 21:40:13
在postmeta表中有近300万行,在post表中有近250,000行,听起来您已经很久以前就已经过时了WordPress。
WordPress中的定制post类型和自定义分类法是作为事后考虑开发的,因此实现效率不会那么高。(很多WordPress并不是很有效率,但这完全是另一回事。)
我建议将客户端和餐餐数据从帖子和后置表中移出,并将它们移动到自定义表中(S),而不是构建一个"hack“来绕过WordPress "hack”,即自定义post类型和自定义分类法。您仍然可以使用WordPress作为站点的CMS (甚至使用它们的数据库类和帮助程序),但是通过创建自己的表和PHP代码来管理这些信息,而不是试图使其在不是为了保存数据而设计的表中工作,可以获得很大的效率.
想到的一个例子是GigPress插件,它创建自己的表来存储事件/艺术家/地点信息,而不是posts和postmeta表。
在尝试修改或分区本机WordPress表时,我看到的最大问题是,每当WordPress被更新时,它可能/会破坏您的更改。你不想把自己放在一个需要花费大量时间来更新更新版本的WordPress的位置上。
https://dba.stackexchange.com/questions/66204
复制相似问题