我有一个由多列组成的大型数据库。我想选择一个小尺寸的列,并检查另一个非常大的列(以字节为单位)是空还是空。当然我可以只选择它们并让服务器端脚本语言决定第二列是否为空,但我真的不需要第二列的数据,我只想知道它是否为非null和非空。
现在,由于我不是MySQL忍者或任何东西,我不确定MySQL是否有可能只选择"非空虚"一列,如果这样可以在处理大型列时加快速度。我问这个是因为我可以想象MySQL在内部处理这些情况的方式非常不同,因为对于大的第二列,只需要大量的磁盘读取,内存复制,管道服务器端脚本解释器等。请求关于其空虚的布尔值。
所以
我不想按它过滤,而只是想获取一个包含条目true / false的列,具体取决于每列的大列是否为非空。 < / p>
非常感谢您提前阅读并回答此问题。如果之前已经回答过这个问题,但我没有找到答案,请在评论中通过链接告诉我,我会立即删除这个问题。
答案 0 :(得分:2)
您可以在SQL中执行此操作:
SELECT small_column
FROM my_table
WHERE large_column IS NULL OR LENGTH(large_column) = 0
编辑:
要回答评论中的问题,您可以将表达式放在选择列表中:
SELECT small_column,
(large_column IS NULL OR LENGTH(large_column) = 0) AS
is_large_column_empty
FROM my_table