关系数据库设置的性能提升

时间:2013-01-16 作者:phatskat

我们的团队正在为客户开发第三个大型WP站点,与大多数“典型”的WordPress设置相反,我们的项目通常会遇到大量的请求、数据提取和一般内容-如果你看到(并且可以看到)我们的站点,你很难知道它甚至是一个WP站点。我一直在检查性能,特别是在数据库级别,并且我们已经为更大的数据集实现了一些基本的缓存。

我的问题是,通过采取一些措施来改进数据库的结构,我们会在性能上获得很大的提高吗?这些步骤将包括:

将表转换为InnoDB(默认为MyISAM)

  • 设置适当的外键关系,如wp\\u posteta。post\\U id=>wp\\U posts。到目前为止,我只想到了这些,但可能还有其他的。我曾使用过各种SQL引擎,但我决不是数据库级优化的大师。

  • 1 个回复
    最合适的回答,由SO网友:Tom J Nowell 整理而成

    我不能对外键发表评论,但对于大规模应用,迁移到InnoDB将是一个好主意。

    虽然它比MyISAM慢一点,但它执行行级锁定,而不是表级锁定。因此,保存帖子或执行长时间的操作或查询不会锁定posts表,从而在等待表解锁时冻结整个站点。

    对于非常大的多个站点,可能需要进行调查HyperDB, 这就是wordpress。com使用。

    与DB无关,但您可能需要查看AJAX调用的简短init定义

    结束