php - 从 MySQL 获取数据的更有效方法

标签 php mysql sql mysqli

假设我有一个名为"User" 的 MySQL 表。

ID, Name, Email, Age, Gender, Country, Hometown, City, Address, Relationship_Status, Employment_Status, IP, Registered_Time

现在,哪个查询可以更有效地获取用户的所有信息?

一个)

SELECT * FROM User WHERE id=1

B)

SELECT ID FROM User WHERE id=1

SELECT Name FROM User WHERE id=1

SELECT Email FROM User WHERE id=1

SELECT Age FROM User WHERE id=1

SELECT Gender FROM User WHERE id=1

SELECT Country FROM User WHERE id=1

SELECT Hometown FROM User WHERE id=1

SELECT City FROM User WHERE id=1

SELECT Address FROM User WHERE id=1

SELECT Relationship_Status FROM User WHERE id=1

SELECT Employment_Status FROM User WHERE id=1

SELECT IP FROM User WHERE id=1

SELECT Registered_Time FROM User WHERE id=1

事实是,根据情况,我可能需要也可能不需要所有数据。那么,我是应该在需要时一个一个地获取数据,还是一次获取所有数据,然后根据需要使用?

感谢您的帮助!

最佳答案

获取多列的单个查询几乎总是比多个查询更有效。为什么?查询必须由 php 序列化,发送到 mySQL 服务器,反序列化。然后 mySQL 服务器必须执行 WHERE 操作以找到合适的一行或多行。最后它必须序列化结果并将它们发送回 php。你做的越少,系统要做的工作就越少。

专业提示:不要使用 SELECT * 。而是像这样枚举您想要的列。

SELECT ID, Name, Email, Employment_Status, Registered_Time 来自用户 其中 ID = 1

这种方法有很多优点,尤其是在返回许多行的查询中(您的查询没有)。

关于php - 从 MySQL 获取数据的更有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28136735/

相关文章:

php - 在 MySQL 中,您能否将一列中的值字符串转换为另一列中的相应值?

php - pdo mysql 将一个查询插入两次

php - 从 SELECT 中插入使列对唯一

mysql - 库存可用 性能 Mysql

MySql Join with Sum 返回错误的输出

php - 使用 Php & JQuery 获取 MySQL 记录

javascript - json_encode 从 Javascript 返回未定义

php - 如何使用php echo以与mysql文本字段中添加的格式相同的格式显示文本

php - MySQL更新行最高值加1

php - mysql - 如何计算一个表中有多少条记录然后只得到 20?