添加和查询用户元的最有效的数据库方法是什么?

时间:2011-08-09 作者:markratledge

关于数据库,向概要文件添加和查询额外的usermeta字段最有效的方法是什么?

我需要向用户配置文件中添加四个额外的数字和文本数据字段,然后查询这些字段以编译数据以在模板中显示。而且可能有数千名用户。

有很多例子可以将数据存储在usermeta中。但是,这个数量的数据应该存储在usermeta表中吗?

还是应该将其全部存储在新的数据库表中?如果是这样,我如何初始化一个新表,然后写入它?

2 个回复
最合适的回答,由SO网友:Wyck 整理而成

有很多例子可以将数据存储在usermeta中。但是,这个数量的数据应该存储在usermeta表中吗?

我看不出有什么理由不应该使用默认的用户元数据表,毕竟这就是它的用途,无论用户/字段的数量如何。

用户元函数,例如get user meta 使用get_metadata 使用$meta_type 对象设置为用户。http://codex.wordpress.org/Function_Reference/get_metadata

如果您想摆弄新桌子,可以使用$wpdb 上课并创建一个新的,这篇文章介绍了如何,http://codex.wordpress.org/Creating_Tables_with_Plugins .

还有一个名为Pods CMS的插件,它允许为内容类型创建自定义数据库表,但除非您有特定的原因,否则只需使用内置的用户元表即可。

SO网友:Bainternet

我有一个网站(我的一个客户有),它有5000多个用户,每个用户在usermeta表中存储9个不同的元字段(行),我真的看不出有什么问题,我要补充的是,其中6个元字段实际上是包含4到13个不同值(整数、字符串和布尔值)的数据数组,所以在大多数情况下,我们只生成一个get_user_meta() 调用该页所需的所有值。其他3个字段是我们需要查询的字段,因此它们不能在一个数组中。

因此,总的来说,每个用户有80-96个自定义字段,这些字段都存储在9行中。

现在,使用自定义表will be faster (简单的事实)但值得这么麻烦吗?

结束

相关推荐

Corrupt Wordpress Database

我认为这是最奇怪的文字印刷问题。一个拥有大量帖子数据库的客户网站已经有了自己的想法。前一分钟一切似乎都很好,接下来的帖子、类别和标签都不见了。此时仪表板告诉我9个类别中有2309个帖子,但当我单击admin中的categories链接时,列表中没有任何帖子。我可以在admin中看到所有帖子,但尽管它们过去被分配到类别并列出标签,但现在它们都“未分类”,没有标签。很明显,wordpress数据库在某种程度上已经损坏,但从哪里开始尝试修复呢!?以下是我迄今为止测试的内容:插件–我关闭了所有当前的插件。主题–我