PHP 储存方式以及效率的有关问题
程序员文章站
2022-05-05 11:28:44
...
PHP 储存方式以及效率的问题
例如: 用户表:存放慢更新的数据,比如用户名,密码,地区,手机邮箱等 一对一关系
信息表:存放数据的积分,等级,等 更新比较块的数据 一对一关系
爱好表:一个用户id 对应多个爱好类型id 一对多
收藏表 : 一个用户id 对应多个文章id 一对多
我想把 爱好表,收藏表的 一对多关系变成一对一关系。
比如表中有两个字段,一个是用户的id,一个是文本类型的 字段,用array方式存储
爱好类型id或者文章id
想问下大家,用这种方法好吗?请根据实际需求帮我解答一下疑惑
------解决方案--------------------
原方案是可以轻松做到的!
虽说如果没有“爱好”和“收藏”相关联的关系的动能,新方案可行
但也不是可取
数组不能直接放到表中,所以你需要有序列化和反序列化或json编解码的过程
数组中只不过是些id,得到数组后,你还需要再次查询这些id代表什么
况且原方案是双向的 用户->爱好、爱好->用户 都可以查询到
新方案就变成单向的了
再者说无论是序列化或json,都使数据量翻番。从存储角度上看也是不划算的
例如: 用户表:存放慢更新的数据,比如用户名,密码,地区,手机邮箱等 一对一关系
信息表:存放数据的积分,等级,等 更新比较块的数据 一对一关系
爱好表:一个用户id 对应多个爱好类型id 一对多
收藏表 : 一个用户id 对应多个文章id 一对多
我想把 爱好表,收藏表的 一对多关系变成一对一关系。
比如表中有两个字段,一个是用户的id,一个是文本类型的 字段,用array方式存储
爱好类型id或者文章id
想问下大家,用这种方法好吗?请根据实际需求帮我解答一下疑惑
------解决方案--------------------
原方案是可以轻松做到的!
虽说如果没有“爱好”和“收藏”相关联的关系的动能,新方案可行
但也不是可取
数组不能直接放到表中,所以你需要有序列化和反序列化或json编解码的过程
数组中只不过是些id,得到数组后,你还需要再次查询这些id代表什么
况且原方案是双向的 用户->爱好、爱好->用户 都可以查询到
新方案就变成单向的了
再者说无论是序列化或json,都使数据量翻番。从存储角度上看也是不划算的
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
上一篇: 求高手看下这段伪静态规则错哪了
下一篇: 《我们这一代人的困惑》经典语录
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论