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. 爲什麼這個代碼更慢?