小弟是oracle的新手,我公司买了oracle的数据库,利用其元数据功能,存储大的影音文件到数据库中,每个文件的大小在200多兆,现在的问题是每次上传影音文件的时候,速度很慢,一个文件大概要传30多分钟。后来oracle来解决了一次,速度还的需要10多分钟,问一下各位高手,这是什么原因造成的?有没有好的解决办法,来提高文件上传速度啊。多谢指教!

解决方案 »

  1.   

    楼上的方法不可行,当初选择oracle的时候,就是看重了他对影音文件的元数据管理功能,分割开了,管理起来就不方便了吧。
      

  2.   

    个人觉得, 大型BLOB根本就不该放DB, 
    一台DBserver, 一台APserver, 
    大型文件都直接放在APserver上, DB里存一个URL地址就行. 
    (虽然会造成APserver地址和DB存的URL不一致的可能)否则到取出来用的时候, 又要从DB里把几百兆的文件搬进搬出.  (个人见解~)
      

  3.   

    赞同sozdream()
    太大的文件放入数据库可能还不如只存放一个路径或者url在数据库中,文件存放在另一个服务器上
      

  4.   

    不太明白楼主的叙述。“利用其元数据功能,存储大的影音文件到数据库中”
    “当初选择oracle的时候,就是看重了他对影音文件的元数据管理功能”这里的元数据功能到底指的是什么功能了?看回复猜测是把影音文件存放到oracle的lob类型字段中。“每次上传影音文件的时候,速度很慢,一个文件大概要传30多分钟”
    “上传”又是指什么了,猜测是把影音文件插入数据库表中。如果猜测都是正确的话(如果猜测是错误的请见谅),那楼主用的是blob类型的字段。
    要提高插入速度,可以想到的是
    a.数据库调优。 根据楼主“后来oracle来解决了一次”所说,这方面应该做的很好了。
    b.优化设计。根据楼主“目前数据库就是这么运行”所说,对于上线系统很难进行修改。
    c.数据压缩。这个有一定可行性。
    d.提高硬件性能。主要是磁盘的io性能。  
      

  5.   

    楼上的理解完全正确,对于一个大的影音文件,插入到数据库中,是不是还需要将文件进行oracle格式的处理,所以影响了插入的速度。而且我们的这个数据库存储了好多这样的大影音文件。请各位各抒己见,看还需要哪些方面的优化。