当前位置:  开发笔记 > 前端 > 正文

将JSON存储在msSQL数据库中?

如何解决《将JSON存储在msSQL数据库中?》经验,为你挑选了2个好方法。

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

我想保持我的数据库和表格简单,所以我会有

`pKey, formTitle, formJSON`

在桌子上,然后存储

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

在formJSON中.

任何输入都表示赞赏.



1> 小智..:

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

至于我的代码的可读性/可维护性,你可能会说它得到了改进,因为我现在有了代表DB中存储的许多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.



2> root..:

从sql server创建对象数据库的绝佳方法.我为所有配置对象以及其他不需要任何特定查询的内容执行此操作.扩展您的对象 - 简单,只需在您的类中创建一个新属性,并使用默认值创建init.不再需要房产吗?只需在课堂上删除即可.易于推出,易于升级.不适合所有对象,但如果你提取任何需要索引的道具 - 继续使用它.非常现代的使用sql server的方式.


我遇到过很多场合,我正在寻找解决方案并在这里找到自己的方式.在寻找解决方案时,我有时会在其他地方找到更好的答案,并且可能使用比当时所回答的更新的技术.它不仅可以回答您的问题,还可以回答每个遇到与您相同情况的人.和KOPEHb一样,我会很有礼貌地更新甚至提供比答案更好的解决方案.
推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有