专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

远程查询CLOB字段导致查询慢 远程查询clob字段导致查询慢吗

ins518 2024-11-10 11:07:55 技术文章 13 ℃ 0 评论

远程执行带CLOB字段的查询时,由于网络交互延迟会导致查询慢。下面以一个实际的例子来说明。

环境说明:服务器125和132都在异地机房,本地有专线连接到机房。数据库在服务器125,数据库有一张表ruleproject,其中groups字段为CLOB 类型字段。

1. 通过本机查询125上数据库的表ruleproject,全表查询需要6.7s

select * from ruleproject

2.去掉CLOB字段groups,通过本机查询全表只要0.4s

select id,

type,

lastchangedby,

--groups,

createdon,

platform,

uuid

from ruleproject

3. 通过132服务器查询全表只要0.093s

select * from ruleproject

4. 把CLOB字段通过to_char转换后,通过本机查询查询也只要0.4s左右

select id,

type,

lastchangedby,

to_char(groups),

createdon,

platform,

uuid

from ruleproject

分析:

通过本机访问125,是远程访问,每个请求网络延迟50ms

通过132访问125,是局域网访问,每个请求网络延迟不超过1ms

查询clob字段时,查询57条记录,网络交互次数达到50多次,且每次交回一来一回,网络延迟加起来有100ms

没有查询clob字段时,查询57条记录,网络交互几次就完成了。

从现象分析,Oracle在查询传输带CLOB字段的记录时,每条记录都需要进行一次网络交互,不管这条记录有多大。这导致远程执行包含CLOB字段的查询时,网络延迟大时网络交互的时间开销就会特别大,所以涉及到CLOB字段的查询,需要考虑使用TO_CHAR做转换。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表