php - SQL SELECT 和 PHP 检索使用单表 VS 连接两个表的速度?

标签 php mysql join optimization database-design

我正在创建一个表然后显示记录。我想以“inch”格式显示用户高度,但它将以“cm”格式存储在用户表中。 现在我想知道哪种方式会给我更快的结果?

使用连接

// to select records  
 SELECT *.u FROM, h.height_inch user as u join height as h on u.height_cm =h.height_cm 
 WHERE u.user_id = 2 AND ...;
//for display in php  
 foreach($all_records AS $key => $val) {
  echo $val['height_inch'];
  }

OR 单用户表(快于/慢于):

 // to select records  
 SELECT * user WHERE u.user_id = 2 AND ...;
//for display in php  
 foreach($all_records AS $key => $val) {
   $height_in_cm = $val['height_inch']
   $height_in_inch= convert_to_inch($height_in_cm); //function for  convert height cm to inch..
    echo $height_in_inch;
  }

最佳答案

一种更快的替代方法是在 SQL 中简单地执行算术运算,这样您就不必存储固定的转换数据或迭代结果。

SELECT height_cm, height_inches as (height_cm / 2.54) FROM table;

关于php - SQL SELECT 和 PHP 检索使用单表 VS 连接两个表的速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32355238/

相关文章:

mysql - SQL 连接查询选择

php - 覆盖复杂连接 MySQL 查询上的字段

php - 如何排除 MySQL 查询中的匹配记录?

php - Zend Framework 2 模块的正确或首选目录结构是什么?

soundex - 当php SOUNDEX仅输出3位数字时,如何检查php中的SOUNDEX

mysql - 如何在 MySQL 中查询高于 MIN 的 X

mysql - 创建具有多列和连接列的公式查询

Mysql语句从两列中选择不同的行

php - 密码/商业 secret 算法 : Are they safe in php files?

php取消设置影响全局范围的本地引用