请问在oracle查询clob字段的内容怎么办呢?

2019-03-25 13:44|来源: 网路

  我在ORACLE10G中,有个表的字段是文章的内容CLOB字段,我通过LIKE 查询这个字段的内容,但是非常非常的慢,怎么才能让它快起来啊??

相关问答

更多
  • 错误的解释如下 $ oerr ora 6502 06502, 00000, "PL/SQL: numeric or value error%s" // *Cause: An arithmetic, numeric, string, conversion, or constraint error // occurred. For example, this error occurs if an attempt is made to // assign the value NULL to a variable ...
  • select case when status = '1' then 字段一 when status = '2' then 字段二 end 字段_case, decode(status, '1', 字段一, '2', 字段二) 字段_decode from 表case when适合多条件,格式好看点,decode适合少条件,简洁。
  • 当获取CLOB列的子字符串并使用具有大小/缓冲区限制的查询工具时,您需要将BUFFER设置为更大的大小。 例如,在使用SQL Plus时,使用SET BUFFER 10000将其设置为10000,因为默认值为4000。 运行DBMS_LOB.substr命令,您还可以指定要返回的字符数量和偏移量。 因此,使用DBMS_LOB.substr(column, 3000)可能会将其限制为缓冲区足够小的数量。 有关substr命令的更多信息,请参阅oracle文档 DBMS_LOB.SUBSTR ( ...
  • 在10g中, VARCHAR2或NVARCHAR2列的最大大小仅为4kb。 在12c下,如果您将MAX_STRING_SIZE服务器属性设置为EXTENDED ,则此限制可以增加到32kb ,但仍然不能接近150kb。 您将需要使用CLOB ,或者将150kb分解为4kb块。 分解数据的一个选项是将数据存储在表中,其中每行代表文件的一行: file_id line_id line_data --------------------------------- 1 1 ...
  • 要检查NULL,不管数据类型如何,都使用IS NOT NULL或IS NULL WHERE AUDIT_LOG IS NOT NULL to check NULL, regardless of datatype, you use IS NOT NULL or IS NULL WHERE AUDIT_LOG IS NOT NULL
  • 以下查询(替换您的实际表格和列名称)将从单词“ Caused by到该行末尾提取一行文本。 无论文本行是否以开头 - 只会从这些单词到行尾的所有内容。 如果您需要更短的子字符串,您需要更详细地解释它是如何被“识别”的 - 您如何确定可以省略的以及必须返回的内容。 这是如何划定的? select regexp_substr(message, 'Caused by:.*) as caused_line from test_data; (请注意,默认情况下,通配符与Oracle中正则表达式的行尾不匹配。) ...
  • 错误的指数成本如果统计数据是新鲜的,并且优化程序具有相对较好的基数估计值,为什么会选择错误的计划? 也许有一个参数使索引看起来人为地便宜。 看一下: select * from v$parameter where name in ('optimizer_index_cost_adj', 'optimizer_index_caching'); 它们与默认值100和0有显着差异吗? 另外,看一下select * from sys.aux_stats$; 也许您的系统统计信息使全表扫描看起来太贵了。 某些版本的O ...
  • 将文件加载到PL / SQL中的CLOB非常简单 - 您只需要使用DBMS_LOB.LoadCLOBFromFile过程 CREATE DIRECTORY file_dir AS <>; GRANT read, write ON file_dir TO your_user_name; DECLARE l_src_file bfile := BFileName( 'FILE_DIR', <
  • 如果您使用PDO与PDO然后尝试设置属性如下 $dbConnection->setAttribute(PDO::ATTR_STRINGIFY_FETCHES,TRUE); 这会将所有列转换为字符串,无论其原始类型如何,这不包括NULL列,也不会转换要插入的数据。 通过设置它,它将与mysql甚至从oracle获取相同的行为。 if you are using php with PDO then try set attribute as below $dbConnection->setAttribute(P ...
  • 希望这些例子清楚地说明了我想要解释的内容。 SET SQLBL ON; SET DEFINE OFF; CREATE TABLE CLOB_TEST ( clob_in CLOB ); INSERT INTO CLOB_TEST VALUES ( 'I am working as a DBA and senior database resource in L&T Infotech in Pune India' ); SELECT DBMS_LOB.SUBSTR(CLOB_IN,300 ...