关于oracle中clob字段查询慢的问题及解决方法

 更新时间:2017年02月07日 14:33:28   作者:niuhea  
最近在用oracle的过程中用到了对blob字段模糊查询的问题。接下来通过本文给大家分享关于oracle中clob字段查询慢的问题及解决方法,需要的的朋友参考下吧

最近在用oracle的过程中用到了对blob字段模糊查询的问题,对oracle来说,我并不是高手,找了很多的资料终于能够查出来了。

blob字段直接用 select * from table_name where column like ‘%%'查找的时候是不能实现的 ,主要是字段类型不符,就想到了

字段转换成varchar2类型,然后再进行查询

select * from table_name where utl_raw.cast_to_varchar2(column) like ‘%oracle%'; 

但是却报如下的错误:

在这之后作了修改:

select * from table_name where utl_raw.cast_to_varchar2(DBMS_LOB.SUBSTR(column,2000,1)) like '%oracle%' ;

这样之后就可以实现查询了,但是这样的查询总是有些不妥,在网上看到有DBMS_LOB.instr这个函数,可以直接实现查找功能。参考https://www.jb51.net/article/104854.htm中所介绍的具体用法,修改如下:

select * from table_name where dbms_lob.instr(column,utl_raw.cast_to_raw('所要匹配的内容'),1,1)<>0;

这样就可以顺利的查找出来了。

以上只是自己做了个简单的处理,相信肯定有更好的方法,希望大家帮忙,但是感觉dbms_lob函数下的方法真的很好用。

oracle clob字段在查询很慢这是众所周知的

还是要建立表的索引:

create index search_id
on table(字段)
indextype is CTXSYS.CONTEXT; 

查询:

select * from table where contains(字段,'内容',1)>0;

后续:

这样查询结果很快,但是查出来的数据不是我想要的,具体可能是程序的问题,不过这是解决查询clob字段慢的一个方法.希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • oracle创建一个数据库三步走

    oracle创建一个数据库三步走

    这篇文章主要介绍了oracle如何创建数据库和用户,以及每一步所涉及到的代码,需要的朋友可以参考下
    2015-08-08
  • Oracle分区表超详细讲解(Oracle Partitioned Tables)

    Oracle分区表超详细讲解(Oracle Partitioned Tables)

    这篇文章主要给大家介绍了挂不同意Oracle分区表超详细讲解(Oracle Partitioned Tables)的相关资料,ORACLE的分区是一种处理超大型表、索引等的技术,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • oracle备份之备份测试脚本的方法(冷备、热备、rman)

    oracle备份之备份测试脚本的方法(冷备、热备、rman)

    这篇文章主要介绍了oracle备份之备份测试脚本的方法(冷备、热备、rman),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Oracle创建定时任务的方法步骤

    Oracle创建定时任务的方法步骤

    在日常的数据库管理中,经常会遇到需要定期执行某个任务的需求,本文主要介绍了Oracle创建定时任务的方法步骤,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • Oracle LogMiner的使用实例代码

    Oracle LogMiner的使用实例代码

    这篇文章主要给大家分享了关于Oracle LogMiner的使用实例代码,文中通过示例代码介绍了关于查询当前日志组、业务用户插入操作、归档日志切换、业务用户插入操作以及归档日志切换等等的相关功能,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • Windows server 2019安装Oracle 19c的图文教程

    Windows server 2019安装Oracle 19c的图文教程

    Oracle是是一款高效、可靠、吞吐量高的数据库,本文主要介绍了Windows server 2019安装Oracle 19c的图文教程,具有一定的参考价值,感兴趣的可以了解一下
    2024-04-04
  • Oracle教程 误添加数据文件删除方法

    Oracle教程 误添加数据文件删除方法

    今天又有朋友问到,当向一个表空间错误的添加了一个数据文件,如何来将这个文件删除?
    2009-06-06
  • oracle通过行范围查询取4至10行并排序

    oracle通过行范围查询取4至10行并排序

    这篇文章主要介绍了oracle如果查询取4至10行并排序,很简单,很实用,正在学习oracle的朋友可以参考下
    2014-09-09
  • oracle求和代码示例

    oracle求和代码示例

    这篇文章主要介绍了oracle求和代码示例,简单易懂,具有一定参考价值。需要的朋友可以了解下。
    2017-09-09
  • DBCA命令行搭建Oracle ADG的流程

    DBCA命令行搭建Oracle ADG的流程

    随着Oracle数据库版本的更迭,搭建备库的方式多种多样。今天介绍一种创建物理备库的新方式,从12C版本开始推出:使用 DBCA 命令行,需要的朋友参考下吧
    2021-06-06

最新评论