在metas表中选择几个条目的最佳方法是什么?

时间:2017-01-23 13:54:26

标签: php mysql

仅供参考,我使用的是php和 MySQL

我想知道在" metas"中选择一些(和确定的)条目的最佳方式是什么?表将它们链接到主要元素。

有关更多解释,我有一张桌子"用户"其中包含主要信息:id,email,nickname。 我还有一张桌子," users_metas"其中包含许多不同的信息,其中包含一个信息条目(即entry1:user1的头像,entry2:user2的连接,......)。

现在,当我需要来自metas表的一些具体信息时,我这样做:

SELECT u.u_nickname, u.u_email, um1.um_value as u_avatar, um2.um_value as u_connection
FROM users as u
 LEFT JOIN users_metas as um1 ON um1.um_uid = u.u_id AND um1.um_name = "avatar"
 LEFT JOIN users_metas as um2 ON um2.um_uid = u.u_id AND um2.um_name = "connection_date"
WHERE u.u_id = :u_id

它有效,经过一些"基准测试"它比执行其他SELECT查询更快:

SELECT u.u_nickname, u.u_email,
  (SELECT um_value FROM users_metas WHERE um_uid = u.u_id AND um_name = "avatar") as u_avatar,
  (SELECT um_value FROM users_metas WHERE um_uid = u.u_id AND um_name = "connection_date") as u_connection
...

但我想知道是否有更好的方法可以做到这一点。当然,metas表中不仅有avatarconnection个信息,还有很多其他信息。

谢谢你的建议。

我正在使用" metas"关于元素的各种信息的术语

0 个答案:

没有答案