SQL

SQL Server 下 K-V 形式存储 1亿条 数据对于查询效率的影响

这是一篇2年多以前带过的实习生 Peflapos 所整理的小文,拿出来缅怀下,也希望他在新的公司一切顺利。


对1亿条 K-V 型记录查询效率的验证

关于 K-V 型存储

1. 为什么考虑 K-V 存储形式?

假设有一个 Request 类如下:

	public class Request
	{
		public Guid RequestId {get; set;};
		public string RequestName {get; set;};
		public string RequestOwner {get; set;};
	}
	

我们可以按照如下的结构把它存入数据库:

Continue reading

SQL Server: 删除 XML 字段的某个节点

针对于 SQL Server 中的 XML 列,如何删除其中的一个 XML 节点呢?这里有两种方法。

方法1 直接通过SQL语句将目标节点设置为 null即可,直截了当,非常容易。

方法2 如下,查询后进行修改(相关操作我封装成了一个存储过程来演示,如下存储过程会从不同位置读取数据,并通过游标寻找并处理由 Guid 格式标明的目标数据)
Continue reading

SQL Server: 创建 XML 索引 提升查询效率

Scenario: 最近在工作中遇到一个问题,客户访问公司产品的某报表功能时,速度极慢,在客户环境甚至达到15+分钟的页面载入时间。经分析,问题的原因是多方面的,其中最主要的一项是产品数据库(SQL Server)的一个核心字段采用了XML类型存储,先不讨论其设计的优劣,但大量的XML查询确实大大的影响到了产品体验。
Continue reading