我已经在我的WordPress数据库中导入了100000个自定义分类术语。我已经按层次导入了Country -> -> Cities。通过这个,我的数据库表项(20MB)和分类项(15MB)已经变得如此之大,以至于我的整个网站和管理面板都瘫痪了,甚至无法加载我的网站的一个页面。我也尝试过elasticPress,Jetpack,它不能帮助我解决这个问题。基本上我想导入至少5个国家与它的州和城市到我的数据库中,所以用户可以选择它的位置与钻取下拉方法。你能帮帮我吗?我能不能在不影响mysql数据库性能的情况下缓存这些内容?我可以给你更多关于它的信息。请问我任何问题。谢谢。附言:我一直在CloudWays上托管我的这个网站
发布于 2019-04-30 03:02:47
WP使用EAV (实体-属性-值)模式模型。这是相当笨拙的,它不能很好地扩展到“数千”以上。
但是,通过改进WP:http://mysql.rjweb.org/doc.php/index_cookbook_mysql#speeding_up_wp_postmeta中的“元”模式可以部分修复
“真正”的解决办法是设计你自己的模式,为属性列,而不是间接地找到它们。
没有一个真正好的理由让Country->State->City成为一个层次结构。包含这3列(可能还有其他一些内容)的扁平表格会更快,也不会那么笨拙。其他分类法可能需要分层存储。你想讨论一个具体的问题吗?
MySQL 8有一个新特性:CTE。它们使编写查询以遍历层次结构变得更容易。
发布于 2019-04-30 18:42:13
创建一个REST API来输出你的post,而不是普通的php。它会更快地加载你的帖子。利用这个Wordpress函数register_rest_route()
https://stackoverflow.com/questions/55835478
复制相似问题