Sql 在数据库列-NVARCHAR(MAX)和FileStream中存储JSON?
我有一个表,其中有几个标准字段,还有一个列中的JSON文档。我们使用SQL Server 2017存储所有内容,数据由使用Entity Framework 6的C#应用程序使用。表本身可能有成千上万个条目,这些条目(或者更确切地说,它们上面的JSON列)必须每天更新。我试图找出要使用哪种数据类型才能获得最佳性能 我读过: 目前,JSON文档以30-200KB的文件形式出现。有可能超过256 KB的屏障,但超过1 MB的概率目前非常低。这将指向NVARCHAR。此外,这里: 人们建议将JSON存储为NVARCHAR(MAX)是一种方法 然而,有两件事让我担心:Sql 在数据库列-NVARCHAR(MAX)和FileStream中存储JSON?,sql,json,sql-server,sqlfilestream,Sql,Json,Sql Server,Sqlfilestream,我有一个表,其中有几个标准字段,还有一个列中的JSON文档。我们使用SQL Server 2017存储所有内容,数据由使用Entity Framework 6的C#应用程序使用。表本身可能有成千上万个条目,这些条目(或者更确切地说,它们上面的JSON列)必须每天更新。我试图找出要使用哪种数据类型才能获得最佳性能 我读过: 目前,JSON文档以30-200KB的文件形式出现。有可能超过256 KB的屏障,但超过1 MB的概率目前非常低。这将指向NVARCHAR。此外,这里: 人们建议将JSON
考虑到我的用例,您会选择什么?这不仅是性能的问题,也是开发时间、知识和维护的问题。如果所有东西都已经在c#中使用实体框架,那么为什么要使用更复杂的东西呢?我的方法是使用开发人员最熟悉的解决方案,直到出现性能瓶颈,然后进行基准测试
比较两个具有实际表大小的解决方案,可以让您真正了解是否值得进行任何调整。我们已经在几个单独的表中使用规范化SQL实现了这一点。这就是为什么我知道这个表将有数以万计的写操作——存储的数据必须每天重新生成。现在,我们有大约5000行需要重新生成,但它应该(慢慢地)随着平台的增长而增长。就我个人而言,我选择NVARCHAR(MAX)是因为开发时间和易于维护。但我只是想知道是否有人使用FileStream以类似的方式存储如此小的数据,并发现它更好。