問題描述
在開發需要數據存儲的插件時,使用一種或多種方法有哪些優點和缺點?
explanation given in the codex 沒有詳細説明:
Before jumping in with a whole new table, however, consider if storing your plugin’s data in WordPress’ Post Meta (a.k.a. Custom Fields) would work. Post Meta is the preferred method; use it when possible/practical.
最佳解決方案
那麼,如果我拿起一個 WP 腳本小子的帽子,我的答案是:使用 post_meta,永遠。
但是,我碰巧知道有關數據庫的一兩件事情,所以我的答案是:永遠不要使用 EAV(也稱為 post_meta 表) 存儲可能需要查詢的數據。
在索引方面,元表中基本上沒有值得使用。所以,如果您正在存儲數據類型 XYZ,並希望您查詢所有具有 XYZ 值的值為'abc'的帖子,那麼… 祝你好運。 (請參閲 WP trac 中的所有用户/角色/帽子相關票據,以便您瞭解如何獲取血液。)
在連接方面,您很快就會崩潰到優化程序決定使用通用算法的限制,而不是在有多個連接條件時分析查詢。
因此,不,不,不,不。永遠不要永遠使用元。除非’s you’re 存儲是化妝品,而且不會成為查詢條件的一部分。
它分解到你的應用程序如果你正在存儲一個電影導演的誕生日子,那就是大事。使用你想要的所有元素。但是,如果您正在存儲電影的發佈日期,那麼您不要使用單獨的表格 (或在帖子表中添加列),並在該列中添加索引。
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。