你有种再说一遍
发表于 2024-10-21 20:37:09
本帖最后由 你有种再说一遍 于 2024-10-21 20:59 编辑
# 博客数据库怎么设计储存图片?
在Markdowm的文章是这样插入图片的:
![代替文本](./images/图片名称.jpg "可选的标题")
那么如果我不再引用这个图片,那么岂不是没有自动删除?
要设计一个动态删除图片的数据库.
图片表:
自增id,日期,已删除标记,代替文本,可选标题,图片二进制
文章表:
自增id,日期,已删除标记,用户id,版本号,文本
图片引用表:
图片id,文章ids.
增:每次修改博文,检测文本,若有加入文章id.
改(逻辑删除):每次修改博文/删除博文,若删了引用图片(要前后版本的文本检测)则删引用id.并检测引用数量,为0则修改图片表记录的已删除标记.
物理删除:含有删除标记的,是通过定时任务进行物理删除的,定时任务每次巡逻几条id,然后比较时间,三个月后删除图片.
为什么要分多一个表,因为行式数据库,请求图片的时候会把文章引用集合也获取了,反而拖累了速度.
如果要数据回滚呢?岂不是没有这个图片了?
但是多张图片可以共用一张图片..
通过采集算法可以合并引用?
md5摘要合并是不对的,hash冲突.
你有种再说一遍
发表于 2024-10-24 15:58:09
卡拉什算法(乘法),将乘法分治.
斯特拉深算法(矩阵),将矩阵分治.
kahan求和精度,引入一个新变量,求出精度.