在Post Meta表中存储值与在新表中存储值 时间:2013-11-03 作者:enam 我想在贴子元中存储对贴子进行评级的用户ID列表。因此,对于每个帖子,我都需要检查帖子元以查看其中是否存在用户id。所以我的问题是,将这些信息存储在post meta中是个好主意,还是应该创建一个表并将其添加到表中。如果值的数量增长很大,性能(表与元)会有什么不同吗?我更愿意存储在post meta中,因为这是一种更简单、更干净的方式,但我读到了一个答案,其中说永远不要使用EAV(又名post\\u元表)来存储您可能需要查询的数据。 2 个回复 最合适的回答,由SO网友:Milo 整理而成 根据您的评论:当用户单击投票时,我会获取该帖子元的值,并检查其中是否存在用户id(使用php explode和foreach)。如果它不存在,那么我在其中添加用户id。这里不涉及任何查询,因此使用post-meta就可以了。查询类似于“从ID为n的用户投票的数据库加载所有帖子”。这将更难实现,因为这是一种多对多的关系,而WordPress本身并没有做到这一点。将用户ID存储为序列化数据(数组)是一种PHP构造,MySQL无法“理解”该数据,因此这不是post meta的好用途。 SO网友:Edward 我建议您重新考虑定制表格的想法,因为您可以检查整个;用户是否投票支持帖子"E;在一个非常简单的sql查询中,如SELECT count(user_id) FROM my_votes_table WHERE post_id = 1 AND user_id = 1 它只返回一个简单的小值,而不是php必须处理的重序列化数组或json字符串。从性能的角度来看,这实际上是一种关系数据库类型的任务。自定义表的集成非常容易,我个人认为更干净,因为post meta value没有适合您的数据类型。 结束 文章导航