MySQL效率 - 多个文本列,还是多行?

时间:2016-10-21 19:30:48

标签: php mysql database

我正在使用当前存储数百万条笔记的网络应用程序,并且某些笔记从1种用户类型发送到另一种用户类型,如果邮件应该转到多种用户类型,则需要多行(部分原因是因为某些用户类型将获取带有名称的消息,其他用户类型将获取消息,但为了合规性/安全性,名称将被隐藏。

当前表结构 - PK,note(文本),userid(发送消息 - int索引),源(tinyint索引),目标(tinyint索引),时间戳,读取(tinyint索引)

示例:

"客户"用户向"员工发送消息"用户 - "乔史密斯说XYZ。我该怎么办?" - 1个音符/行,source = client,destination = staff

以上没有问题。但是,这里有多行进入:

  • "员工用户"给员工,客户和供应商的信息 员工到员工版本:"乔史密斯推迟了这个过程,我们需要做点什么"。 - 1个备注/行,来源=员工,目的地=员工

员工到客户端版本:" Joe Smith推迟了这个过程,我们需要做一些事情" - 1个记录/行,source = staff,destination = client

员工到供应商版本:"客户正在推迟流程,我们正在努力解决这个问题。" - 1个备注/行,来源=员工,目的地=供应商

在这些场景中(对于2或3方的消息非常常见),工作人员用户同时在屏幕上输入两个版本,提交并且他们将作为单独的行进入适当的方,或者,工作人员接收来自1方的消息,修改它并发送给另一方。

我的问题是,如果表格的结构如下,会更好吗? PK,original_note(text),userID,timestamp,staff_version(text),vendor_version(text),client_version(text) 每条消息只有一行,用户类型看到的相应版本根据它们的位置按列提取。

我在速度和实用性方面提出了问题。我们要达到900万张钞票,为了达到合规目的,我们暂时无法摆脱任何注意事项。

我已尝试搜索此主题,但我不确定我是否会提出好的关键字,因为我无法找到解决此类问题/方案的任何内容。< / p>

0 个答案:

没有答案