我使用的数据库版本是oracle 9.2.0.1.0 for aix,数据库内表photo_t 存放相片。
在表photo_t 的photo_no字段(field)上建有索引pk_photo_no。
我们使用powerbuilder 编写的前端访问数据库的应用程序,程序中包含如下sql语句:string ls_photo_no
blob lb_photo//向表photo_t 插入一条纪录
insert into photo_t (photo_no,photo)
values (:ls_photo_no,empty_blob());
//插入相片
updateblob photo_t
set photo= :lb_photo
where photo_no = :ls_photo_no;在表内存放了 70,000,000张相片的情况下,程序运行正常,两条语句的执行速度小于0.1秒。
之后由于表空间(tablespace)不够,删除了8,000,000条纪录,程序的运行速度明显下降:
第一条sql 语句速度很快,但第二条执行时间很长(3秒)。我们对photo_t 所在的tablespace 进行了空闲空间整理,重建了索引 pk_photo_no,仍然不起作用。请帮忙分析原因,谢谢!
在表photo_t 的photo_no字段(field)上建有索引pk_photo_no。
我们使用powerbuilder 编写的前端访问数据库的应用程序,程序中包含如下sql语句:string ls_photo_no
blob lb_photo//向表photo_t 插入一条纪录
insert into photo_t (photo_no,photo)
values (:ls_photo_no,empty_blob());
//插入相片
updateblob photo_t
set photo= :lb_photo
where photo_no = :ls_photo_no;在表内存放了 70,000,000张相片的情况下,程序运行正常,两条语句的执行速度小于0.1秒。
之后由于表空间(tablespace)不够,删除了8,000,000条纪录,程序的运行速度明显下降:
第一条sql 语句速度很快,但第二条执行时间很长(3秒)。我们对photo_t 所在的tablespace 进行了空闲空间整理,重建了索引 pk_photo_no,仍然不起作用。请帮忙分析原因,谢谢!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货