繁体   English   中英

PHP 与 MySQL 空检查

[英]PHP vs MySQL Null check

我有一个包含大量记录的数据库。 更具体地说,我有一个查询,其中包含多个子查询,可获取记录并显示在前端。

如果字段包含NULL我想显示一些默认值。

我希望找出以下哪种方法可以提供更好的性能。 我现在正在使用 MySQL 方法,但这需要很多时间。

MySQL方法

SELECT A.columnA,
IFNULL (( SELECT B.columnB FROM tableB B), 'default-value') AS columnB,
IFNULL (( SELECT C.columnC FROM tableC C), 'default-value') AS columnC,
IFNULL (( SELECT D.columnD FROM tableD D), 'default-value') AS columnD
FROM tableA A
WHERE 1=1
LIMIT 20
ORDER BY A.columnA ASC

PHP方法

foreach($recordsFromDB as $record) {
    if(is_null($record->columnB)) {
        echo 'default-value';
    } else {
        echo $record->columnA;
    }
}

编程中没有完美的方法来做某事,因此找到了很多解决方案! 所以让我们从这一点开始,在我看来,检查空值应该使用 PHP,然后你得到的句柄可以传递给进一步的 MySQL 处理! 显然,您将很难仅使用 MySQL 来处理所有这些查询。 我的建议是,尝试检查空值并在 php 中替换它们,如果您必须处理在数据库中检索/获取或插入值的问题,请使用 MySQL

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM