2
A
回答
2
的标准架构进行wp_postmeta
为贫困指标。这导致性能问题。
通过改变架构来此,以元数据大多数引用会更快:
CREATE TABLE wp_postmeta (
post_id …,
meta_key …,
meta_value …,
PRIMARY KEY(post_id, meta_key),
INDEX(meta_key)
) ENGINE=InnoDB;
注:
- 目前
AUTO_INCREMENT
列是浪费空间,并减慢查询,因为它是PRIMARY KEY
,因此避开了(post_id, meta_key)
的“自然”“复合”PK。 - 由于“聚类”,InnoDB进一步提升了该PK的性能。 (我希望你还没有使用MyISAM!)
- 如果您使用的是MySQL 5.6(或MariaDB 10.0或10.1),请从
VARCHAR(255)
更改meta_key
,而不是VARCHAR(191)
。 (如果191不够,我们可以在单独的问题中讨论原因和解决方法。) INDEX(meta_key)
是可选的,但如果您想“查找具有特定键的帖子”,则需要。- 警告:这些更改会加速许多使用postmeta,但不是全部。我不想认为它会减缓任何用例。 (如果你遇到他们,请您提供这样的质疑。这可能是一个缓存的问题,而不是AR真正降解。)
如果你想提出您CREATE TABLE
,我可以提供一个ALTER
将其转换为这。
相关问题
- 1. 为什么ReversedLinesFileReader这么慢?
- 2. simple_html_dom为什么这么慢?
- 3. 为什么shutil.rmtree()这么慢?
- 4. plyr为什么这么慢?
- 5. numpy.vectorize:为什么这么慢?
- 6. NetworkStream.Read为什么这么慢?
- 7. 为什么“htmlspecialchars”这么慢?
- 8. 为什么这么慢用goroutines?
- 9. 这个jquery为什么这么慢?
- 10. 这个功能为什么这么慢?
- 11. 为什么这比memcmp慢
- 12. 为什么这个div慢慢淡出?
- 13. 为什么话语跑得这么慢?
- 14. 为什么cv :: resize这么慢?
- 15. 为什么textwrap.wrap()和textwrap.fill()这么慢?
- 16. 为什么F10在VS2008中这么慢?
- 17. 为什么盒装矢量这么慢?
- 18. 为什么array.map(String.fromCharCode)这么慢?
- 19. ASP.net MVC:为什么AreaRegistration.RegisterAllAreas()这么慢?
- 20. 为什么native .bind()这么慢?
- 21. 为什么theano跑得这么慢?
- 22. Get-PSDrive为什么这么慢?
- 23. 为什么CGIHTTPServer在Windows中这么慢?
- 24. 为什么鲨鱼会这么慢?
- 25. 为什么PostgreSQL在Windows上这么慢?
- 26. 为什么升降架这么慢?
- 27. C:为什么fprintf(stdout,....)这么慢?
- 28. 日期为什么这么慢?
- 29. 为什么这个jQuery .animate调用这么慢?
- 30. 为什么这个代码更慢?