hrmai

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  40 随笔 :: 0 文章 :: 510 评论 :: 56323 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

最近和同事讨论一个数据库字符串存储html的问题。现在的系统中存储的方式是:

<div>

      <a>fasdfasdfasdf,</a>

……

<div>

同事的建议是把它写成一下格式:

<div><a>fasdfasdfasdf,</a>……<div>

至于原因是这样可以节省很多存储空间。

我当时就直接说,第一这个表现在数据量不大(行数少),预期以后数据量也不会大。所以就是把格式写成那样子也不会节省多少存储空间,假设最后能节省一个G,加上备份空间,现行方式最多节省,100几十G的空间;而且现在这种方式很方便debug,你一看就知道这个html节有没有那些地方是少了东西的,标签没关闭之类的。

其实我还遇到过很多有这种想法的事情。比如,在系统写入数据库慢的情况下,有人会提出先写文件,再回写到数据库;又比如,程序写在一起会跑的快一点。

先看第一个。我个人从来不建议写文件,因为,很多人包括我自己,都没办法达到这种水平。为什么了?因为如果用文件代替数据库那么你需要解决的问题有:1、文件的独占问题(程序一定要独占文件)2、文件并发写问题(没有并发写,我想这个肯定很悲剧)3、事物突然中断问题。等等。那么怎么解决系统写入数据库慢的问题了?批量提交。可以使用的方式有消息队列、本地存储(memcache)、nosql数据库作为中间库等。

后面那一个我就不说了。

但是纵观上面的说法是不是曾经都是对的了?是的,但是现在已经不对了,所以我们很多时候需要跟上时代,与时俱进。可以不懂具体的技术,但是总要知道具体的技术。

posted on   Leon Mai  阅读(1156)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示