gpt4 book ai didi

c# - 何时/如何使用 SQL Server XML 数据类型?

转载 作者:数据小太阳 更新时间:2023-10-29 02:58:32 25 4
gpt4 key购买 nike

我目前正处于一个新应用程序的设计阶段,我有一些设计问题,我想我可以通过众包获得一些建议。

我正在使用专有连接连接到各种设备,每个设备都会响应一组数据,我根据机器类型将这些数据解析为一个很好的类。有些机器对其他机器响应不同的数据,但有一些共同点,因此我有一个简单的继承模型。

- (abstract) Machine
- Machine Type A
- Machine Type B
- Machine Type C

“机器”类型具有名称、IP 地址等所有机器共有的属性。

现在我要开始设计我的数据库了,我不希望我的每个类(class)都有不同的表。此外,我希望对随着时间的推移添加到系统中的任何新机器保持灵 active 。

所以...我的想法是创建一个表,其中包含任何“机器”的共同特征的列,然后是包含有关特定机器的其余信息的 XML 字段。通过这种方式,我认为我可以在数据库中没有大量冗余“空”值的情况下保持灵 active 。

这也会减少列数,因为一台机器可能有 30 或 40 个不同的特征要记录。

因为我以前从未使用过 XML 数据类型,所以我想知道我是否正在以一种明智的方式解决这个问题?使用 XML 字段的含义是什么。

还值得注意的是,我不太可能通过 XML 中的任何字段进行搜索,而只会在公共(public)字段上进行搜索。

最佳答案

就个人而言,我建议您避免将 XML 存储在数据库中。我曾在功能强大的服务器上使用 Oracle 10g 时使用过这种方法。开始时很好,但是一旦您开始查询数据,过滤来自 XML 性能的值开始直线下降。是的,您可以越来越深入地了解 XMLDB 的配置,但它可能会开始让您发疯。

首先尝试阅读一些关于存储任意数据的其他问题,例如 Storing Scientific Data in a Relational Database .

归根结底,就是好好考虑一下您打算如何使用、提取和查询数据。

关于c# - 何时/如何使用 SQL Server XML 数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9192981/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com