-------------------------大家在项目中用blob或者clob的时候多不多---------------------------

时间:2021-05-29 17:57:08
RT,大家在做实际项目的时候 用到lob的时候多不多?  
能不能简单说下 都什么情况会用到呢?  
如果采用类似BFILE的方式   只存放路径,然后在外部用系统文件存储 两种方式有什么优劣?  先谢了哈

18 个解决方案

#1


CLOB有时候用来存网页内容。
BLOB在项目中需要保存的文件<2M的时候用来存文件。
>2M的文件一般弄个varchar2字段存路径,实际文件存文件系统,听说文件太大jdbc读blob的时候会比较慢,干脆就存文件系统了。。自己没测试过。。。。。

优劣感觉自己没有发言权。。。

期待达人解惑,是不是真的大文件BLOB读起来慢。。。。

up

#2


我目前的方式是  只存路径  然后建立一个文件夹  把上传的档案放到server上~ 
感觉这种方式也还好  

#3


引用 2 楼 horizonlyhw 的回复:
我目前的方式是  只存路径  然后建立一个文件夹  把上传的档案放到server上~
 感觉这种方式也还好

嗯,我一般也都这么做,呵呵。不过这样做有个坏处,就是如果是web项目的话,拿文件会比较麻烦,多台web服务器要另外做文件分发的程序,总不能每个web服务器搞上一个备份啊。

#4


哦   也是    

哈   我这还没那么高级啦  哈   还只是一台server~

#5


嗯。今天天气不好,下了一天毛毛雨,烦死了。

#6


引用 5 楼 crazylaa 的回复:
嗯。今天天气不好,下了一天毛毛雨,烦死了。


上海?     今天上海就下了一天毛毛雨~~   不过今天请假了  没去上班  哈

#7


晕,我也没去上班,我在杭州,不远,哈哈

#8


引用 7 楼 crazylaa 的回复:
晕,我也没去上班,我在杭州,不远,哈哈


……  好准   哈哈哈

#9


我这下大雨,肯定不在一个地方了

安全性和非主要的文件还是用系统FILE方式存储吧,没有必要和ORACLE发生太多关系

#10


引用 9 楼 java3344520 的回复:
我这下大雨,肯定不在一个地方了

安全性和非主要的文件还是用系统FILE方式存储吧,没有必要和ORACLE发生太多关系


恩  

#11




大字段在数据库的维护上比较麻烦,如果不是系统设计的需要,尽量不要把大文件直接保存在数据库里.. 就想上面说的,可以保存文件的路径...





------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
Q Q 群:62697716 

#12


不多,但会用到。有时需要存储一些原始机器采集过来的数据。

#13


引用 12 楼 acmain_chm 的回复:
不多,但会用到。有时需要存储一些原始机器采集过来的数据。


有时存储网页    维护上比较麻烦  

#14


引用 12 楼 acmain_chm 的回复:
不多,但会用到。有时需要存储一些原始机器采集过来的数据。


先謝哈     原始機器采集數據  是啥數據?

#15


引用 13 楼 sql_xep 的回复:
引用 12 楼 acmain_chm 的回复:
不多,但会用到。有时需要存储一些原始机器采集过来的数据。


有时存储网页    维护上比较麻烦 


能不能舉一個  你常用存儲網頁的 例子哦?     不是代碼上  是邏輯上的例子就行了

#16


存储网页,比如,web前台用户使用ckeditor编辑好的静态网页要保存,那么可以用ckeditor的获取源码的方式,把整个静态网页的src取出来,那么它就是一个长长的String了,经常会超过4000char,用varchar2肯定不合适。而显示的时候呢,又需要速度快,那么就用CLOB来储存了。逻辑上其实也不复杂,如果前台的编辑器比较好的话,其实是不需要费多大劲的。当然,那种N多图片N多表格想要实现类似Word的内容存储之类的网页除外。我这里指的是一般的简单点的静态网页。当然这种情况也可以不用CLOB直接存文件。。。但如我在3楼所说,有时候要做个负载均衡的情况下,那么就要多弄一个文件分发,反而麻烦,所以干脆就CLOB存数据库了。。。。

对我上面说的这种情况,不好的地方,希望大家不吝赐教哈。

#17


引用 16 楼 crazylaa 的回复:
存储网页,比如,web前台用户使用ckeditor编辑好的静态网页要保存,那么可以用ckeditor的获取源码的方式,把整个静态网页的src取出来,那么它就是一个长长的String了,经常会超过4000char,用varchar2肯定不合适。而显示的时候呢,又需要速度快,那么就用CLOB来储存了。逻辑上其实也不复杂,如果前台的编辑器比较好的话,其实是不需要费多大劲的。当然,那种N多图片N多表格想要实现类似Word的内容存储之类的网页除外。我这里指的是一般的简单点的静态网页。当然这种情况也可以不用CLOB直接存文件。。。但如我在3楼所说,有时候要做个负载均衡的情况下,那么就要多弄一个文件分发,反而麻烦,所以干脆就CLOB存数据库了。。。。

对我上面说的这种情况,不好的地方,希望大家不吝赐教哈。


了解  多谢

#18


回帖加分

#1


CLOB有时候用来存网页内容。
BLOB在项目中需要保存的文件<2M的时候用来存文件。
>2M的文件一般弄个varchar2字段存路径,实际文件存文件系统,听说文件太大jdbc读blob的时候会比较慢,干脆就存文件系统了。。自己没测试过。。。。。

优劣感觉自己没有发言权。。。

期待达人解惑,是不是真的大文件BLOB读起来慢。。。。

up

#2


我目前的方式是  只存路径  然后建立一个文件夹  把上传的档案放到server上~ 
感觉这种方式也还好  

#3


引用 2 楼 horizonlyhw 的回复:
我目前的方式是  只存路径  然后建立一个文件夹  把上传的档案放到server上~
 感觉这种方式也还好

嗯,我一般也都这么做,呵呵。不过这样做有个坏处,就是如果是web项目的话,拿文件会比较麻烦,多台web服务器要另外做文件分发的程序,总不能每个web服务器搞上一个备份啊。

#4


哦   也是    

哈   我这还没那么高级啦  哈   还只是一台server~

#5


嗯。今天天气不好,下了一天毛毛雨,烦死了。

#6


引用 5 楼 crazylaa 的回复:
嗯。今天天气不好,下了一天毛毛雨,烦死了。


上海?     今天上海就下了一天毛毛雨~~   不过今天请假了  没去上班  哈

#7


晕,我也没去上班,我在杭州,不远,哈哈

#8


引用 7 楼 crazylaa 的回复:
晕,我也没去上班,我在杭州,不远,哈哈


……  好准   哈哈哈

#9


我这下大雨,肯定不在一个地方了

安全性和非主要的文件还是用系统FILE方式存储吧,没有必要和ORACLE发生太多关系

#10


引用 9 楼 java3344520 的回复:
我这下大雨,肯定不在一个地方了

安全性和非主要的文件还是用系统FILE方式存储吧,没有必要和ORACLE发生太多关系


恩  

#11




大字段在数据库的维护上比较麻烦,如果不是系统设计的需要,尽量不要把大文件直接保存在数据库里.. 就想上面说的,可以保存文件的路径...





------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
Q Q 群:62697716 

#12


不多,但会用到。有时需要存储一些原始机器采集过来的数据。

#13


引用 12 楼 acmain_chm 的回复:
不多,但会用到。有时需要存储一些原始机器采集过来的数据。


有时存储网页    维护上比较麻烦  

#14


引用 12 楼 acmain_chm 的回复:
不多,但会用到。有时需要存储一些原始机器采集过来的数据。


先謝哈     原始機器采集數據  是啥數據?

#15


引用 13 楼 sql_xep 的回复:
引用 12 楼 acmain_chm 的回复:
不多,但会用到。有时需要存储一些原始机器采集过来的数据。


有时存储网页    维护上比较麻烦 


能不能舉一個  你常用存儲網頁的 例子哦?     不是代碼上  是邏輯上的例子就行了

#16


存储网页,比如,web前台用户使用ckeditor编辑好的静态网页要保存,那么可以用ckeditor的获取源码的方式,把整个静态网页的src取出来,那么它就是一个长长的String了,经常会超过4000char,用varchar2肯定不合适。而显示的时候呢,又需要速度快,那么就用CLOB来储存了。逻辑上其实也不复杂,如果前台的编辑器比较好的话,其实是不需要费多大劲的。当然,那种N多图片N多表格想要实现类似Word的内容存储之类的网页除外。我这里指的是一般的简单点的静态网页。当然这种情况也可以不用CLOB直接存文件。。。但如我在3楼所说,有时候要做个负载均衡的情况下,那么就要多弄一个文件分发,反而麻烦,所以干脆就CLOB存数据库了。。。。

对我上面说的这种情况,不好的地方,希望大家不吝赐教哈。

#17


引用 16 楼 crazylaa 的回复:
存储网页,比如,web前台用户使用ckeditor编辑好的静态网页要保存,那么可以用ckeditor的获取源码的方式,把整个静态网页的src取出来,那么它就是一个长长的String了,经常会超过4000char,用varchar2肯定不合适。而显示的时候呢,又需要速度快,那么就用CLOB来储存了。逻辑上其实也不复杂,如果前台的编辑器比较好的话,其实是不需要费多大劲的。当然,那种N多图片N多表格想要实现类似Word的内容存储之类的网页除外。我这里指的是一般的简单点的静态网页。当然这种情况也可以不用CLOB直接存文件。。。但如我在3楼所说,有时候要做个负载均衡的情况下,那么就要多弄一个文件分发,反而麻烦,所以干脆就CLOB存数据库了。。。。

对我上面说的这种情况,不好的地方,希望大家不吝赐教哈。


了解  多谢

#18


回帖加分