一尘不染

将JSON存储在msSQL数据库中?

sql

我正在开发一个表单生成器,想知道将JSON存储在SQL数据库中是否会不好?

我想让我的数据库和表保持简单,所以我要

`pKey, formTitle, formJSON`

在桌子上,然后存放

{["firstName":{"required":"true","type":"text"},"lastName":{"required":"true","type":"text"}}

在formJSON中。

任何输入表示赞赏。


阅读 242

收藏
2021-03-17

共1个答案

一尘不染

我在CMS(拥有约110个站点)中广泛使用JSON,并且发现访问数据的速度非常快。令我惊讶的是速度没有下降。CMS中的每个对象(页面,布局,列表,主题等)都有一个名为JSONConfiguration的NVARCHAR(MAX)列。我的ORM工具知道要查找该列,并在需要时将其重新构造为一个对象。或者,根据情况,我将其传递给客户端以供jQuery或Ext
JS处理。

至于我的代码的可读性/可维护性,您可能会说它得到了改进,因为我现在有一些类,它们表示存储在数据库中的许多JSON对象。

我使用JSON.net进行所有序列化/反序列化。https://www.newtonsoft.com/json

我还使用单个查询来返回包含实际数据的meta-JSON。与Ext JS一样,我有一些查询,这些查询返回Ext
JS对象的结构以及该对象将需要的数据。这样就减少了一个回发/ SQL往返。

我还对代码解析JSON对象列表并将其映射到DataTable对象然后再交给GridView的速度感到惊讶。

我看到的使用JSON的唯一缺点是索引。如果您需要搜索JSON的属性,则必须将其存储为单独的列。

有一些JSON DB可以更好地满足您的需求:CouchDB,MongoDB和Cassandra。

2021-03-17