gpt4 book ai didi

java - getBytes vs getBinaryStream vs getBlob 用于从 BLOB 列中获取数据

转载 作者:IT老高 更新时间:2023-10-28 21:01:18 25 4
gpt4 key购买 nike

有 3 种不同的方法可以从 ResultSet

BLOB 列中获取数据
  • getBytes
  • getBinaryStream
  • getBlob

另外,getBlob 返回的 Blob 对象也有 getBytesgetBinaryStream 方法可用。

是否有任何特殊原因(性能、内存、数据库特定问题)我应该选择其中一个?

Blob 对象还具有自 JDBC 4.0 以来引入的 free() 调用。这有什么不同吗?

最佳答案

如果您要提取大量数据(即足够的数据会导致内存问题),那么 getBinaryStream 将为您提供最大的灵 active 来处理和丢弃读取的数据。

另一方面,这可能会很慢,具体取决于您的 JDBC 驱动程序,因为每次从流中读取都可能需要与数据库进行大量网络通信。如果您调用 getBytes,那么驱动程序就知道一次性获取全部内容,这可能会更有效率。

getBlob() 返回一个指向数据的“指针”,您可以使用 Blob 接口(interface)上的方法对其进行操作。如果您需要修改或以其他方式对数据感兴趣,那么这可能是您的最佳选择。

关于java - getBytes vs getBinaryStream vs getBlob 用于从 BLOB 列中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/760781/

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