mysql5.0使用json,mysql – 使用JSON而不是规范化数据,这种方法是否正确?

在MySQL innoDB表中都有微博帖子和与它们相关的投票/表情符号.

需要两种类型的页面:

(A)包含许多微博的列表页面以及他们的投票计数/表情符号在单页上计数(比如说25).

例如.

THE GREAT FUNNY POST

Not so funny content in a meant to be funny post. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus euismod consequat pellentesque. …..READ MORE….

(3) likes, (5) bored, (7) smiled

.同一页上有24条以上的帖子.

(B)包含单个微博的固定链接页面,其中包含详细的投票计数/表情符号.

THE GREAT FUNNY POST

Not so funny content in a meant to be funny post. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus euismod consequat pellentesque. Quisque viverra adipiscing auctor. Mauris ut diam risus, in fermentum elit. Aliquam urna lectus, egestas sit amet cursus et, auctor ut elit. Nulla tempus suscipit nisi, nec condimentum dui fermentum non. In eget lacus mi, ut placerat nisi.

(You, Derp and 1 more like this), (5) bored, (7) smiled

第一种方法:

表格1:

post_id | post_content | post_title | creation_time

表#2用于存储投票,喜欢,表情符号:

action_id | post_id | action_type | action_creator | creation_time

显示帖子页面或单个帖子.查询第一个表以获取帖子,

第二个是查询以获取与帖子相关的所有操作.无论何时完成投票等,都会在post_actions表中进行插入.

第二种方法:

表格1:

post_id | post_content | post_title | creation_time | action_data

action_data可以是{“like”:3,“smiles”:4 …}

表2:

action_id | post_id | action_type | action_creator | creation_time

要显示帖子页面,只需查询第一个表格即可获得帖子和帖子.行动数据,

要显示具有详细操作的单个帖子,将查询第二个表以获取与帖子相关的所有操作.无论何时完成投票等,都会在post_actions表和action_data中进行插入

更新表#1的字段以存储更新的计数.

假设有100K帖子和10x动作I.e.创建了100万或更多操作.

方法#2是否有益处?除了必须阅读,修改和更新JSON信息之外,它有什么缺点吗?

无论如何,有哪种方法可以遵循并进一步改进?

根据反馈添加更多信息:

> Python脚本将读取,写入数据.

> MySQL数据库服务器与Web服务器不同.

>由于帖子创建而写的内容很低I.e.每天10000.但是那些由于操作原因可能更高,假设由于投票,喜欢,表情等行为而每秒最多写入50次.

>我关心的是第二种方法的读取/写入性能比较和第二种方法的问题,以及将来可能会遇到的问题.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值