`

读取带有blob、clob、image大字段记录时注意的问题

阅读更多
   昨天测试自己做的东西,页面打开相当缓慢,10秒竟然!按F5刷新页面,连接池竟然爆满,释放不了了,一开始还认为是数据库连接的问题,因为我的应用服务器和数据库服务器不在一台机器,一个在北京,一个在郑州。今天仔细看看代码,System.out.println()下开始读取数据库的时间和结束读取时间,原因找到了,我在读取带有image字段的记录时候,用的是select *,这是问题关键所在,每条记录10来M,太大了,我直接select我需要的字段后,再按住F5不放,连接池中的连接再也不涨了。打开页面也很快了!

   总结:
   (1)读取带有blob、clob、image等大字段的时候,不要用select *,在以后的SQL语句书写的时候能不用*就不用*;
   (2)在读取数据库的SQL语句出打印开始和时间,可以观察哪个SQL语句用的时间多,找原因。
 
分享到:
评论

相关推荐

    sql server中的image类型的数据导出到oracle的clob字段中

    在 SQL Server 中,Image 类型用于存储二进制大对象(BLOB),如图像、音频、视频等。Image 类型可以存储大量数据,但由于其存储方式和检索机制的限制,Image 类型数据的读写效率较低。 CLOB 字段在 Oracle 中的...

    Hibernate对BLOB CLOB操作

    在Java的持久化框架Hibernate中,BLOB(Binary Large Object)和CLOB(Character Large ...在处理BLOB时,需要特别注意内存管理和文件I/O操作的效率,而对于CLOB,通常以字符串形式处理,避免不必要的转换和格式问题。

    图片存入Oracle中,用clob和blob两种方式

    例如,可以创建一个`IMAGES`表,包含`ID`(主键)、`IMAGE_CLOB`(CLOB类型)和`IMAGE_BLOB`(BLOB类型)字段。 - **图片转二进制/字符串**:对图片进行读取,如果是使用`CLOB`,需要将图片转换为Base64字符串;...

    java将图片写入数据库,并读出来(blob clob)

    这个过程通常涉及到Blob和Clob数据类型,它们是Java中的两种特殊对象,用于存储大对象(LOB)。Blob用于存储二进制数据,如图片、音频或视频文件,而Clob则用于存储字符数据,比如长文本。以下是如何使用Java处理...

    Java存取OracleBlob字段,图片存储,Blob和BLOB的问题,Clob,oracle.docx

    ### Java存取Oracle Blob 字段详解 #### 一、Blob 和 BLOB 的区别 在处理 Oracle 数据库中的二进制大型对象(Binary Large Object,简称 Blob)时,开发者经常会遇到两个相似但不同的概念:`java.sql.Blob` 和 `...

    Delphi将图片以二进制方式存储在数据库BLOB字段中.rar

    相反,从数据库读取BLOB数据时,我们先执行SELECT语句,获取BLOB字段,然后将返回的二进制流写入TMemoryStream。最后,可以将TMemoryStream的数据写入一个临时文件或直接显示在Image组件上。 在"Delphi将图片以二...

    插入、取出Blob类型的数据代码示例

    4. **读取Blob内容**:使用Blob对象的`getBinaryStream()`方法获取输入流,并将数据写入输出流。 5. **关闭流**:确保所有的流在操作完成后都被正确关闭。 在提供的压缩包中,`blob.sql`文件可能包含了用于创建表...

    ORACLE数据库中主要字段类型的读写例子(包括:Long、Raw、Blob) (2).pdf

    然而,由于Long字段在处理大量数据时性能较低,且不支持索引,所以在现代Oracle数据库设计中,通常推荐使用Clob类型代替Long。 2. Raw类型:Raw数据类型用于存储二进制数据,如用户IC卡的MAC地址(EMP_IC_MACRAW(50...

    Spring+Hibernate处理Oracle lob字段(一)

    在Oracle数据库中,LOB字段主要有BLOB(Binary Large Object)和CLOB(Character Large Object)两种类型,分别用于存储二进制和字符数据。处理这些字段时,我们需要配置Hibernate的实体类和映射文件。 在实体类中...

    PB-数据库保存图片并在Datawindow中显示

    8. **性能考虑**:由于图片数据通常较大,处理时需要考虑性能问题。例如,只在需要时加载图片,使用缓存减少数据库访问,以及优化图片的压缩和解压缩过程。 综上所述,"PB-数据库保存图片并在Datawindow中显示"是一...

    mysql,sqlserver,oracle三种数据库的大对象存取解析.docx

    在数据库管理系统中,大对象...在存取大对象时,开发者需要注意选择合适的数据类型,调整数据库配置以适应大文件,并使用相应的API进行操作。在实际应用中,应根据项目需求和性能考虑选择最合适的数据库和大对象类型。

    浅论大型数据对象在Oracle数据库中的存储方法.pdf

    例如,使用`UTL_FILE`包读取本地文件并插入BFILE字段,或者直接插入CLOB或BLOB数据。 以存储图片为例,可以使用以下步骤: ```sql -- 创建表 CREATE TABLE image_table ( id NUMBER PRIMARY KEY, image BLOB ); ...

    用PHP操纵Oracle的LOB类型的数据

    在Oracle数据库中,当需要存储超过VARCHAR2类型最大限制(4000个字符或2000个汉字)的数据时,可以使用LOB(Large Object)类型,包括BLOB(Binary Large OBject)、CLOB(Character Large OBject)以及BFILE。CLOB...

    ORALCE BOLB 图片存储

    2. **插入记录:** 向 `IMAGE_LOB` 表中插入一条记录,其中 `T_IMAGE` 字段使用 `EMPTY_BLOB()` 函数初始化为空 BLOB。 3. **获取文件路径:** 使用 `BFILENAME` 函数获取图片文件的路径。 4. **打开文件:** 调用 `...

    使用ibatis操作大对象,mySQl数据库

    在MySQL数据库中,大对象通常存储在BLOB(Binary Large Object)或CLOB(Character Large Object)类型字段中。对于图片这类二进制数据,我们会选择BLOB类型。以下是一些关键知识点: 1. **配置iBatis**:在iBatis...

    oracle mysql sqlser2000对大数据对象的操作

    例如,使用PreparedStatement的setBinaryStream方法可将二进制数据插入BLOB字段,而ResultSet的getBinaryStream方法则用于读取BLOB数据。此外,使用Blob接口,开发者可以更方便地处理大数据对象的生命周期,如读取、...

    Oracle数据库图像存取技术.pdf

    首先需要在Oracle数据库中建立一个包含name和image blob两个字段的简单表结构,其中name字段用于保存图像的名称和路径,image字段则用于存储图像数据。建立相应的窗体和控件后,可以通过Delphi提供的数据访问和数据...

    jquery_jpaLob.rar

    在处理大数据类型如BLOB(Binary Large Object)和CLOB(Character Large Object)时,JPA提供了一种名为Lob的特殊处理方式。本文将深入探讨如何结合jQuery和JPA进行Lob操作。 一、jQuery基础 jQuery的核心是简化...

    SavePic.rar_savepic_图片存储

    - 使用Blob代替Clob:尽管Clob也用于存储大对象,但它更适合文本数据,而Blob更适合二进制数据。 - 分区和索引:根据需要,对图片数据进行分区,并为常用的查询字段创建索引,提高查询效率。 综上所述,"SavePic....

Global site tag (gtag.js) - Google Analytics