SQL Server 的索引视图(物化视图)

今天遇到一个需求,需要将现有的普通视图进行性能优化,首当其冲的我想到了Oracle的物化视图,讲真好用,但问题是SQL Server好像没有这个玩意,经过网上的搜索SQL Server可以建立带索引的视图,于是我进行了尝试。

首先索引视图的写法,就是在普通建视图后面增加 with schemabinding 标记,用途是将该视图绑定到数据库架构上。

create view [V_viewname] with schemabinding
......

SQL Server 列转行实现方式

简单的讲就是表中的一个字段存储的以逗号分隔的值,然后想通过逗号分成行,网上找了这种方法挺不错的。

如下例子,ID列表是需要进行拆分的列,表t是对应的数据表,红色标注的是需要改成我们实际业务表或字段。直接运行即可,但这个语句有个缺点,在此基础上再加where条件的话多数会导致SQL异常好像是substring长度不够,使用的时候还是建议先进行where过滤,或在存储过程里使用。

select id,
SUBSTRING(
......