1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 对于图片的存储 是路径还是二进制在数据库?谈谈各自的优劣

对于图片的存储 是路径还是二进制在数据库?谈谈各自的优劣

时间:2020-12-16 16:50:53

相关推荐

对于图片的存储 是路径还是二进制在数据库?谈谈各自的优劣

后端开发|php教程

php

后端开发-php教程

或许这个问题一抛出来就有人立刻说存路径。

但是想想这个问题,如果存路径的话,那么无论在db中还是cache中只能存储一个路径,调用的时候就属于文件调用。在项目图片特别多的时候,影响不是很大吗?

而如果存二进制的话,可以直接把图片数据转成二进制存在db和cache中。取的时候直接转就好

那么究竟哪个比较好呢?为什么人们都说存路径呢?因为二进制转换算法特别消耗吗?

跨境电商 源码,bcd 装ubuntu,嵌入式tomcat搭建,论坛用户爬虫,php写一个简单的接口,什么是seo关键词优化教程lzw

个人网站源码html,ubuntu装安卓,tomcat只有ipv6,js插件爬虫,php外包面试学习,seo搜索引擎营销期末考试lzw

回复内容:

淘宝客优惠卷源码下载,在vscode安装OpenCV,ubuntu v,tomcat端口映射,sqlite中文排序规则,网页设计层的定义,把数据库上传到织梦,买服务器还是买空间,bootstrap 图片预览插件,vue前端框架技术交流,爬虫教务系统,php 去掉空格,说说seo,springboot 切点,CMS标签工具,韩国网站模板设计,asp 网页播放器代码下载,韩国个人网站模板,网站后台登陆素材,页面图标,jsp网站管理系统,电影天堂下载站源码程序lzw

或许这个问题一抛出来就有人立刻说存路径。

但是想想这个问题,如果存路径的话,那么无论在db中还是cache中只能存储一个路径,调用的时候就属于文件调用。在项目图片特别多的时候,影响不是很大吗?

而如果存二进制的话,可以直接把图片数据转成二进制存在db和cache中。取的时候直接转就好

那么究竟哪个比较好呢?为什么人们都说存路径呢?因为二进制转换算法特别消耗吗?

1.数据库不光有存储,还有查询,我想你应该不会去查询那些二进制数据吧,在数据库上存入一个很大的字段非常影响数据库性能开销。

2.数据库底层也是文件存储,将二进制文件存储到数据库比直接放到文件系统上会有更多计算或者io。(原答案是更多的io,考虑到数据库存储时的数据压缩和优化,更改原答案。)

3.图片文件作为静态文件,在web服务器以及其他应用在读取时基本上是io操作,放在数据库中则需要额外的计算。

4.如果你觉得文件很多,你可以尝试分文件夹存放,比如按首字母,按用户id,或者使用cdn,这些都是比放在数据库更好的方法。

/wangtao_20/p/3440570.html

/question/253614_78251

你的理解没错,文件数量较多的时候,存在默认的文件系统中就会显著影响速度,这主要是系统默认的文件系统并不是针对大数量文件存储而设计的,没有路径索引,文件一多效率就指数级降低。

但也并不能和其他数据一样单纯的存入数据库,最好是将文件数据库单独存放,单独处理,因为文件请求一般都是单纯的IO操作,不需要复杂的逻辑和程序处理,最好单独开辟通道,让请求绕过服务器程序,减少服务器程序的负担。

另外的数据库选择上,可以考虑专门为文件而设计的数据库,如mongodb的gridfs。

数据库多跑个指针和拓展内存空间!何况一个服务器应用需要考虑平衡总线和IO!文件存储相对成本更低,包括开发成本和拓展成本!

“在项目图片特别多的时候”,数据库查询应该会成为瓶颈吧。如果真的特别多,一般会放在二级域名下,与主站隔离,或者使用第三方服务。

存URL扩展性什么的更强一点,包括审核,备份,使用第三方服务,都会容易一点。

boss说,小王,有关部门说我们的图片有不健康的,你给咱查查。存数据库就需要费很大劲。

boss说,小王,咱们要扩展几台服务器,你把图片这块给咱整整。存数据库就需要费很大劲。

boss说,小王,咱和七牛/又拍有合作了,把咱的图片放他们那。存数据库就需要费很大劲。

以上个人看法。

304 Not modified,这个理由足够强大了吧?如果存放在数据库里你怎么证明呢?额外再加一个version,如同/getfile.php?key=dassafs23fdsa&v=0109231820吗?但是不可避免的这需要额外的数据库查询才能校验吧?

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。