2017-07-14 77 views
-1

我正在编写基于PHP表单的医疗记录,有多个用户和完全可定制的选项。例如,每个用户将能够创建多个模板文本,每个约会有多个处方,检查等等......什么是在MYSQL表上存储多个条目/数组的最佳方式

问题是:什么是将这些数据和数组存储到MYSQL表,内存和CPU使用情况?

现在,我将这些数据存储到单个列中的json格式的文本(如“选项”,“模板”,“处方”),但是对代码/解码和重新格式化这些似乎有点苛刻每次他们被调用的条目。

第二种选择是为每个文本创建一个新行,这将更容易存储和检索,但可能会创建巨大的表。

该网站完美的选项1,所以我在这里是一个完美主义者,但会很感激你的意见。

+5

您应该规范化数据,为每组信息创建新表。 JSON可能看起来不错并且容易,但隐藏了数据,并且无助于创建灵活的现代系统(恕我直言) –

+2

最好的方法是分析数据并创建规范化的表格,并进行适当的索引等。存储数组不是当我们稍后需要搜索表格时,可以选择一个好的选项。 –

回答

0

是的,只是为了在这里稍微帮助一下。 假设我有一组物品,并且每个物品都属于一个类别。每个类别都有自己的一套属性,该项目符合。

所以我会

Items 
itemId 
name 
catId 


ItemAttribute 
itemId 
AttId 
Value 


Category 
CatId 
Name 

Attribute 
AttId 
CatId 
Name 

它有点简单,但你的想法。 有时您必须迈出一步才能看到模式和数据库模式。

+0

我很欣赏意见。我正在重写大部分模式来对数据进行分类(为了实际的原因,仍然会保留一些json)。 – Lnunes

+0

当然,我认为有时候json是必要的邪恶。我记得曾经做过一些动态形式的事情,你可以制作一张图表,我需要将设置放在某个地方,json看起来是当时最好的。但我会一直这样说,如果可能的话,看看这个模式,从长远来看它会对你有所帮助 –

相关问题