将XML / JSON存储在MySQL列中总是坏的吗?

时间:2012-01-07 04:30:45

标签: mysql xml database-design

我有一个活动组织者,用户可以在其中创建一个或多个与事件关联的自定义类似Excel的电子表格。该事件还将包含一些适合SQL数据库的注释,日期和其他基本信息。显然,我不能为每个用户的电子表格创建一个表。电子表格中的数据不必与数据库中的任何内容相关。工作表本身将与用户和事件相关,但内部数据是自包含的,没有严格的数据类型。

  • 如果没有关系,那么只有一个包含XML的列是不是很糟糕?
  • 除了本地存储之外,还有更好的地方存放它吗?

2 个答案:

答案 0 :(得分:4)

嗯,这不一定是坏事。只是当你将一个XML或JSON的blob存储到一个字段时,除了读取和覆盖之外,你不能对它做任何事情。没有查询,加入,对此blob中的项目进行分组。

如果您对此很好,并且无论如何都要在应用程序中进行所有处理,那么请继续,将XML存储在数据库中。

答案 1 :(得分:1)

如果您可以安装软件,请安装NoSQL DB以存储XML / JSON。例如Cassandra,MongoDB,Redis

他们更善于处理这种访问。几乎任何你需要存储blob的东西,你最好将它存储在MySQL之外的东西,因为MySQL没有被优化为键/值存储。