【发布时间】:2015-01-25 13:07:07
【问题描述】:
假设我有一个名为 "User" 的 MySQL 表。
ID、姓名、电子邮件、年龄、性别、国家、家乡、城市、地址、Relationship_Status、Employment_Status、IP、Registered_Time
现在,哪个查询更有效地获取用户的所有信息?
一)
SELECT * FROM User WHERE id=1
B)
从用户那里选择 ID,其中 id=1
SELECT Name FROM User WHERE id=1
从 id=1 的用户中选择电子邮件
从 ID=1 的用户中选择年龄
SELECT Gender FROM User WHERE id=1
SELECT Country FROM User WHERE id=1
从 ID=1 的用户中选择家乡
从 ID=1 的用户中选择城市
从用户那里选择地址,其中 id=1
SELECT Relationship_Status FROM User WHERE id=1
从用户 WHERE id=1 中选择就业状态
从 ID=1 的用户中选择 IP
SELECT Registered_Time FROM User WHERE id=1
问题是,视情况而定,我可能需要也可能不需要所有数据。那么,我是应该在需要时一个一个地获取每个数据,还是应该一次获取所有数据,然后按需使用?
感谢您的帮助!
【问题讨论】:
-
除非你有大量的列,否则任何查询的慢速部分都是去获取行。必须复制回客户端的列数是微不足道的。