gpt4 book ai didi

sql - 如何在不完全读取 blob 的情况下测试 sqlite 表中的 blob 是否不为空?

转载 作者:行者123 更新时间:2023-12-03 17:46:57 25 4
gpt4 key购买 nike

我正在尝试查询具有 blob 列的表,并且需要过滤结果以仅提供在 blob 列中具有内容(任何内容)的行。

但是,执行 SELECT column_name FROM table_name WHERE blob_column IS NOT NULL 需要很长时间,我认为这是因为一些 blob 非常重。似乎 WHERE 子句正在读取 blob 的全部内容并将它们与 null 进行比较。

有没有一种方法可以在不让 sqlite 读取 blob 的全部内容的情况下测试 blob 列是否为空?

最佳答案

version 3.7.12 , 使用 length()typeof()函数避免读取二进制数据(查询要快得多)。所以为了避免不必要的开销,必须改变

SELECT column_name FROM table_name WHERE blob_column IS NOT NULL

SELECT column_name FROM table_name WHERE LENGTH(blob_column) IS NOT NULL

SELECT column_name FROM table_name WHERE TYPEOF(blob_column) != 'null'

关于sql - 如何在不完全读取 blob 的情况下测试 sqlite 表中的 blob 是否不为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43518213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com