[英]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.