数据库-因为附件过大导致系统卡顿的解决方法

1、 ## 问题现象

: 现在系统中对于附件的存储是以BLOB直接存到ar_file表中的,这样就出现一个问题,附件数据量要远远大于业务数据量。

2、解决步骤:

新建一个数据库用户,将系统所连接的数据库用户与当前新建的用户具有如下的权限:Sysdba、delete any table、insert any table、select any table、unlimited tablespace、update any table

② 在用户执行如下建表SQL:
create table AR_FILE(
file_id VARCHAR2(32) not null,
bill_id VARCHAR2(60) not null,
full_name VARCHAR2(32),
suffix_name VARCHAR2(32),
file_content BLOB)

以及如下建主键的SQL:
alter table AR_FILE add constraint PK_AR_FILE primary key (FILE_ID, BILL_ID)

③ 在系统连接的数据库用户下,查询AR_FILE,看是否有记录,如果没有记录则执行如下删表语句 drop table ar_file;
删表语句执行后,再执行如下建视图的语句:
create or replace view ar_file as select “FILE_ID”,“BILL_ID”,“FULL_NAME”,“SUFFIX_NAME”,“FILE_CONTENT” from 新建数据库用户.ar_file;

④ 如果查询AR_FILE中发现已经有记录,则先登陆到新建的数据库用户下,再执行如下语句进行历史数据迁移: insert into ar_file select * from 系统连接的数据库用户.ar_file执行成功后,再重复步骤③即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值