C# 在表中使用JSON字段,以加速一些关系数据库查询,这是一个好主意吗?

C# 在表中使用JSON字段,以加速一些关系数据库查询,这是一个好主意吗?,c#,sql,json,serialization,C#,Sql,Json,Serialization,我读过一些主题,但我仍然不确定它是好还是坏,所以 我目前从事的项目有一些具有自我关系的表。从理论上讲,它们用于创建无止境的金字塔状层次结构,根位于顶部,其他所有对象都引用其父对象。问题是-我们至少有一些方法需要非常深入的迭代才能获得所需的数据,例如:我们有一些仓库项目连接到父项目(它是项目的一部分),它连接到连接到主仓库的子仓库-如果用户选择该仓库项目,我们想显示它连接到的主仓库 在上述情况下,JSON是否能帮助我们加快主仓库的锁定?我知道我们可以创建简单的类,序列化它,然后根据需要使用它,但我

我读过一些主题,但我仍然不确定它是好还是坏,所以

我目前从事的项目有一些具有自我关系的表。从理论上讲,它们用于创建无止境的金字塔状层次结构,根位于顶部,其他所有对象都引用其父对象。问题是-我们至少有一些方法需要非常深入的迭代才能获得所需的数据,例如:我们有一些仓库项目连接到父项目(它是项目的一部分),它连接到连接到主仓库的子仓库-如果用户选择该仓库项目,我们想显示它连接到的主仓库

在上述情况下,JSON是否能帮助我们加快主仓库的锁定?我知道我们可以创建简单的类,序列化它,然后根据需要使用它,但我不知道这是个好主意还是个坏主意

我可以看到潜在的好处,但也可以看到潜在的威胁-如果有人,例如:手动更新数据库和关系更改,JSON将过时,尽管我可以看到一个潜在的解决方法-我可以比较JSON中的UpdatedAt和数据库中的UpdatedAt,如果它们不同-在查询之前重新生成JSON


您对这种混合的体验如何?

在sql数据库中存储非规范化值/结构化字符串是可以的,但JSON的问题是,您对JSON中的值的查询能力非常有限。 然而,你必须决定这是否是你的一个限制因素


SQL Server实际上对XML有更好的支持,但是如果您存储的是复杂的JSON文档,那么考虑一个更适合JSON结构(NoGoDB等)的NoSQL选项可能是值得的。但是JSON的问题是,对于JSON中的值,您的查询能力非常有限。 然而,你必须决定这是否是你的一个限制因素


SQL Server实际上对XML有更好的支持,但是如果您存储的是复杂的JSON文档,那么考虑一个更适合JSON结构(NoGoDB等)的NoSQL选项可能是值得的。但是JSON的问题是,对于JSON中的值,您的查询能力非常有限。 然而,你必须决定这是否是你的一个限制因素


SQL Server实际上对XML有更好的支持,但是如果您存储的是复杂的JSON文档,那么考虑一个更适合JSON结构(NoGoDB等)的NoSQL选项可能是值得的。但是JSON的问题是,对于JSON中的值,您的查询能力非常有限。 然而,你必须决定这是否是你的一个限制因素


SQL Server实际上对XML有更好的支持,但是如果您存储的是复杂的JSON文档,那么考虑一个更适合JSON结构(NoMGDB等)的NoSQL选项可能是值得的。.

这不是典型RDBMS的理想选择,但是如果你真的想要有这样的工具,例如@meda:恐怕NoSql DB对我们没有好处-99%的数据是表格数据,非常适合RDB(更不用说EF现在不支持任何NiSQL DB),有一些“极端情况”这里和那里,如果可能的话,我想加快他们的速度,这就是为什么我要问。PostgreSQL可能更适合这里,它有非常好的Json支持,并且它与EF一起工作,看看@user3473830:Hmm有趣-我看到MySql也有一些Json支持,不幸的是我们被MS SQL卡住了(微软真丢脸,他们还不支持JSON:()-没办法。无论如何,感谢您提供的信息-它在我们未来的项目中会很有用。它不是典型RDBMS的理想选择,但如果您真的需要,可以使用一些工具,例如@meda:恐怕NoSql DB对我们没有好处-99%的数据是表格数据,非常适合RDB(更不用说EF现在不支持任何NiSQL DBs),有一些“角落案例”这里和那里,如果可能的话,我想加快他们的速度,这就是为什么我要问。PostgreSQL可能更适合这里,它有非常好的Json支持,并且它与EF一起工作,看看@user3473830:Hmm有趣-我看到MySql也有一些Json支持,不幸的是我们被MS SQL卡住了(微软真丢脸,他们还不支持JSON:()-没办法。无论如何,感谢您提供的信息-它在我们未来的项目中会很有用。它不是典型RDBMS的理想选择,但如果您真的需要,可以使用一些工具,例如@meda:恐怕NoSql DB对我们没有好处-99%的数据是表格数据,非常适合RDB(更不用说EF现在不支持任何NiSQL DBs),有一些“角落案例”这里和那里,如果可能的话,我想加快他们的速度,这就是为什么我要问。PostgreSQL可能更适合这里,它有非常好的Json支持,并且它与EF一起工作,看看@user3473830:Hmm有趣-我看到MySql也有一些Json支持,不幸的是我们被MS SQL卡住了(微软真丢脸,他们还不支持JSON:()-没办法。无论如何,感谢您提供的信息-它在我们未来的项目中会很有用。它不是典型RDBMS的理想选择,但如果您真的需要,可以使用一些工具,例如@meda:恐怕NoSql DB对我们没有好处-99%的数据是表格数据,非常适合RDB(更不用说EF现在不支持任何NiSQL DBs),这里和那里都有一些“角落案例”,如果可能的话,我想加快它们的速度,这就是为什么我要问的原因。PostgreSQL可能更适合这里,它有非常好的Json支持,并且可以与