sql-server – 具有密钥/对表与XML字段和XPath的SQL Server性能
发布时间:2021-03-30 20:31:48 所属栏目:MsSql 来源:互联网
导读:我已经看过关于这个主题的一些问题,但我正在寻找对这两种技术之间性能差异的一些见解. 例如,假设我正在记录事件日志,这些事件将通过特定事件的键/值对字典集进入系统.我将在事件表中记录一个带有基本数据的条目,但我需要一种方法来链接其他键/值数据.我永远不
我已经看过关于这个主题的一些问题,但我正在寻找对这两种技术之间性能差异的一些见解. 例如,假设我正在记录事件日志,这些事件将通过特定事件的键/值对字典集进入系统.我将在事件表中记录一个带有基本数据的条目,但我需要一种方法来链接其他键/值数据.我永远不会知道会出现什么样的键或值,因此任何类型的预定义枚举表似乎都是不可能的. 此事件数据将持续流入,因此插入时间与查询时间一样重要. 当我查询特定事件时,我将使用事件上的一些字段以及键/值数据中的数据.对于XML方式,我只需使用Attributes.exists(‘xpath’)语句作为where子句的一部分来过滤记录. 规范化的方法是使用具有基本键和值字段的表,其中包含指向事件记录的外部链接.这看起来干净简单,但我担心涉及的数据量. 解决方法问题我认为键/值表方法是关于数据类型 – 如果值可以是日期时间,或字符串或unicode字符串或整数,那么如何定义列?这种困境意味着值列必须是一个数据类型,它可以包含其中所有不同类型的数据,这就引出了查询效率/易用性的问题.或者,您有多列特定数据类型,但我认为这有点笨重.对于一个真正灵活的模式,我想不出比XML更好的选择.您可以索引XML列. This article off MSDN更详细地讨论了XML存储. (编辑:鄂州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- SQL中print、sp_helptext的限制与扩展
- sql – 如何使用Excel VBA获取新插入记录的ID?
- SQL Server 分页查询通用存储过程(只做分页查询用)
- sql-server – 如何将SQL Server 2005更改为区分大小写?
- SQL Server 2005通用分页存储过程及多表联接应用
- SQLserver 数据库危险存储过程删除与恢复方法
- 数据库 – 编写Joomla桥 – 用户插件
- sql – 将日期和时间组合(连接)到日期时间
- sql-server – 将SQLServer 2000数据库导出到XML的最简单方
- sql-server – 是否可以使用存储过程获取mac地址?