SQL Server 2012新特性_列存储索引(2)
来源:互联网 发布:python waitress 编辑:程序博客网 时间:2024/04/27 22:01
在上一篇Blog(SQL Server 2012新特性_列存储索引(1) )中,对列存储及列存储索引的概念及特征等做了一些介绍,接下来,主要对列存储索引的创建与使用做一些演练:
- 创建COLUMNSTORE INDEX
创建COLUMNSTORE INDEX常用的语法如下:CREATE NONCLUSTERED COLUMNSTORE INDEX <ColumnStore_Index_Name> ON <Table_Name>(<Column1>,<Column2>,… <Column N>)
通常可以通过T-SQL命令和SSMS的对象资源管理器两种方式创建COLUMNSTORE INDEX。假设我们有一张表tbl_ColumnStoreIndex,它有4列:Column1 (type int and primary key), Column2 (type varchar(50)), Column3 (type DateTime), Column4 (type NUMERIC(16,2)),我们将为这张表的最后3列创建column store index。
T_SQL方式:
在对象资源管理器里展开表tbl_ColumnStoreIndex的索引文件夹,可以看到刚刚T-SQL创建的索引:
通过Object Explorer(对象资源管理器)创建:
步骤1、建表和聚集索引,该步可以参考上面的T-SQL
步骤2、展开表的树状结构,右击索引图标-->新建索引-->非聚集Columnstore索引
单击“非聚集Columnstore索引”之后,将弹出如下界面:
步骤3、输入索引名称,并单击“添加”按钮,选择要添加的列,再单击“确定”:
步骤4、单击“确定”,索引即可被创建成功 - 试图操作拥有Column Store Index的表
当你往有Column Store Index的表中塞入数据时,你将会看到如下图所示的报错信息:
如上面截图所示的报错信息所说,我们需要在Insert数据之前禁用该列存储索引,然后在完成INSERT后重新生成该列存储索引。因此,我们按照错误提示,重新尝试,如下图所示,成功塞入数据。当然,我们可以在创建Column Store Index之前,把数据塞好,不过,这种方式仅适合首次,以后在对表进行Insert、Update或Delete时,仍需要采取第一种方式,即先禁用列存储索引,再操作表,最后重建列存储索引。
比如,Update该表时,也将会遇到类似前面Insert时类似的问题,按照消息的提示,Disable-->Update-->Rebuild操作即可。
从以上可以学习到,如何创建列存储索引,以及如何对具有列存储索引的表进行Insert、Update、Delete。从中我们也可以看出,一旦对表添加了列存储索引,表就变成了只读的了。如果我们需要进行Insert、Update、Delete等操作,我们需要先禁用列存储索引,然后进行表操作,最后再重建列存储索引。这个特性,使得列存储索引更适合存放静态数据的数据仓库。在接下来的Blog中,将介绍列存储索引的性能及其他相关的东西。
- SQL Server 2012新特性_列存储索引(2)
- SQL Server 2012新特性_列存储索引(2)
- SQL Server 2012新特性_列存储索引(1)
- SQL Server 2012新特性_列存储索引(3)
- SQL Server 2012新特性_列存储索引(3)
- SQL Server 2012新特性_列存储索引(3)
- SQL Server 2012新特性_列存储索引(1)
- SQL Server 2012新特性_列存储索引(3)
- 【SQL码农】SQL Server 2012新特性_列存储索引(3)
- SQL Server 2016:内存列存储索引
- SQL Server 2012新特性_新的数据库还原选项
- SQL Server 2012新特性_增强的T-SQL编辑器
- SQL Server “Denali” ---SQL 2012 新特性
- SQL Server 2016 列存储索引功能增强
- 温习SQL Server 列存储索引 Column Store Index
- Windows Server 2012存储新特性
- 基于SQL Server 2005新特性的分页存储过程
- 基于SQL Server 2005新特性的分页存储过程
- SWT与Swing区别
- 污点修复功能
- java中的继承问题,类B继承A,那么构造方法需要这样写吗?这不是重复吗?还有接口与抽象类怎么实现?
- java实现穿透代理获取客户端真实ip
- 验证码(图片)的创建
- SQL Server 2012新特性_列存储索引(2)
- 个人形象设计:—
- java接口类型变量能调用已经被实现的这个接口的方法吗
- Eclipse插件直接安装地址整理
- 服务器基础知识
- RAC维护命令
- 广东彩、重庆彩投注系统的研究与开发
- 旅游日记——基于PhoneGap+JQuery Mobile+ArcGISJavascript API实现
- Google发布AR眼镜Project Glass