oracle中varchar2 2000字节列的性能问题

时间:2014-05-28 06:52:16

标签: performance oracle varchar2

我有一个varchar2(2000字节)的列,这是一个现有的列,并且正在许多地方使用,问题是当我尝试与此列进行比较时,查询需要30-40秒才能执行。查询就像下面这样简单 -

select response_id from t_response where desc_response = to_char(1000);

desc_response就是那一栏。

我发现此表上目前只有一个索引,而且是在response_id列上。

1 个答案:

答案 0 :(得分:2)

  

"我们在此表上只有一个索引,而且在response_id列上。"

因此,您的查询正在执行全表扫描,读取表中的每条记录以检查desc_response的值。

你忽略了表中有多少行,但这是简单物理。有很多行的表需要更长的时间来搜索。所以在30-40秒的基础上,我猜这是一张大桌子。

desc_response上构建索引,执行时间将会减少。多少取决于各种因素。