一个bbs系统关于如何保存用户提交的内容(可能会是很长的字符串,甚至是一篇文章),本人拟定一下两种方案,但是不知道改选择哪种好些,希望大家给点建议
方案一:直接将字符串保存到数据库中,但是我觉得这样做不够雅,毕竟提交的数据长度可能不一定,有的很长(一篇上万字的文章)有的可能就几个字,都放在数据库中甚至读取的时候由于是一次将其所有读取,会不会出现内存不够等其他情况
方案二:将用户提交的内容保存到一个服务器上的文件中去,而是把这个文件的路径保存到数据库中(文件的路径一般不担心太长),当需要读取数据时,先从数据库中得到文件名,然后根据文件名读取用户提交的内容
如果有谁做过bbs相关的,希望能给点建议,或是有什么更好的方法,也提出来分享下,谢了!
mysql 数据库存储超长字符串的处理方案
答案:2 悬赏:0
解决时间 2021-02-22 23:19
- 提问者网友:江鱼
- 2021-02-21 23:12
最佳答案
- 二级知识专家网友:陪我到地狱流浪
- 2021-02-21 23:35
其实你的两种方案都可以,第二种也挺好的,以前我一般都用方案一那种,都存到数据库里,我没有测试过超长字符串存到数据库中的查询效率,和内存问题,不过你也可以这两种方案都用,过大的就存文件,小的就存数据库,用个字段做标识就行
全部回答
- 1楼网友:颜值超标
- 2021-02-22 00:06
gzcompress产生特殊字符没问题,保存时用 addslashes(),我自己的经验是slash并没有真的被保存,取出数据后解压一点问题没有。将二进制的文件保存在数据库就这样。如果实在不放心,压缩后用base64_encode(),会增加1/3的量,但如果文本很长,这或许是可以忍受的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯