有没有一种方法可以存储多个记录,而不是在MySQL中使用多个行?

时间:2020-08-17 00:02:12

标签: php mysql xml dataset

我想为我为脊椎按摩师开发的(网络)应用程序充分利用MySQL。

到目前为止,[每年]我一直在一行中存储所谓的进度记录。表格结构看起来像这样(progress_note_id,Patient_id,日期(Y-0-0),progress_note)。当客户希望附加当前进度注释的年份时,他只需单击文本区域(html)的顶部(我使用TinyMCE JavaScript库)以输入新的日期以及速记注释即可列的开头(progress_note)。到目前为止,一切正常,如果自申请开始(2018年)以来,每年(如果有)900多个客户(每年)可能有1300多个进度记录。

现在,客户希望能够查看以前的进度记录(历史记录),但是无法修改任何以前的进度记录,同时仍然能够编写新的进度记录。我想出的解决方案是在文本区域内使用XML,并使用PHP从旧的注释中解密新的注释。

但是,我的问题是,如果我必须将我的整个表格从每年转换为每天,那么将多个笔记转换为每一行可能会花费大量的时间和精力(估计为10倍),最终超过13,000行。我意识到无论选择哪种方法都将需要大量工作。解决这个问题的另一种方法是,我可以在MySQL中使用XML列类型来潜在地存储多个记录,如果我希望附加它,我只需要PHP来解释整个XML并在开头添加一个新的子节点。 。每个进度记录为255-500个字符。而且在最坏的情况下,如果患者每年要进行52次治疗(每周一次),则应该没有足够大的开销。

这是解决此问题的正确方法吗?我确实希望与MySQL数据库保持一致,并且我意识到MySQL不是针对XML的。为了澄清起见,我希望完成的工作与我打算对当前进度说明进行的操作相同,但与XML有关。我相信升序排列(较新->最旧)。

<xml_result>
  <progress_note>
    <date>2020-08-16</date>
    <content></content>
  </progress_note>
<xml_result>

谢谢您的时间和建议。

1 个答案:

答案 0 :(得分:1)

首先,对于MySQL来说13000+不是问题。在大多数情况下,对于Web应用程序,MySQL可以为单个实例处理超过10m条以上的记录,并且性能良好。

第二,您可以在文本字段中使用XML或JSON格式,并在应用程序中处理解码。

相关问题