SQL Server - CLUSTERED
CREATE TABLE dbo.t_MetricBook
(
MetricSetID smallint NOT NULL,
BookID smallint NOT NULL,
ReportingCcyAmount decimal(18,2) NOT NULL,
CONSTRAINT PK_t_MetricBook
PRIMARY KEY CLUSTERED (MetricSetID,BookID)
)
解释:
CONSTRAINT PK_t_MetricBook PRIMARY KEY CLUSTERED (MetricSetID,BookID)
CONSTRAINT :创建约束
PK_t_MetricBook:主键的名称
PRIMARY KEY: 表明创建的是主键约束
CLUSTERED :表示索引类型是聚集索引
--------------------------------------- 详细介绍
在创建Table设定主键的时候,SQL Server会自动创建一个对应的Clustered Index。如果使用Microsoft SQL Server Management Studio工具,发现这个Clustered Index只能删除,不能通过界面进行修改。这让人误以为在主键上只能建立Clustered Index, 实际上却不是这样的。 如果通过Script 创建,我们可以指定在主键上建立Clustered / Non-Clustered Index。示例如下: CREATE TABLE [dbo].[table_1](
[id] [int] NOT NULL,
PRIMARY KEY
(
[id] ASC
)) CREATE TABLE [dbo].[table_2](
[id] [int] NOT NULL,
PRIMARY KEY NONCLUSTERED
(
[id] ASC
)) table_1 上将默认建立Clustered Index, table_2则建立的是Non Clustered Index。 对于已经建立主键的Table,如果要改成Non Clustered Index, 可以先删除主键,再重新创建成Non Clustered Index ALTER TABLE [dbo].[table_1]DROP CONSTRAINT PK__table_1__3213E83F3C0AD43D
go
ALTER TABLE [dbo].[table_1] ADD CONSTRAINT PK__table_1__3213E83F3C0AD43D
PRIMARY KEY NONCLUSTERED (id)
go 在创建Table的时候,也可以同时设定一个栏位为主键,而另外一个栏位是Clustered index. CREATE TABLE [dbo].[table_3]
(id INT NOT NULL PRIMARY KEY,
col1 INT NOT NULL UNIQUE CLUSTERED)
go 综上所述,主键只是一个Constraint, 主键上能够建立Clustered / Non-Clustered Index, 当然通用的最佳实践是把主键创建为Clustered Index。 ---------------------
作者:Cassaba
来源:CSDN
原文:https://blog.csdn.net/cassaba/article/details/52043058
版权声明:本文为博主原创文章,转载请附上博文链接!
SQL Server - CLUSTERED的更多相关文章
- Part 18 Indexes in sql server
Indexes in sql server Clustered and nonclustered indexes in sql server Unique and Non Unique Indexes ...
- Tables without a clustered index are not supported in this version of SQL Server. Please create a clustered index and try again.
问题: Azure Sql 在插入数据是出现“Msg 40054, Level 16, State 1, Line 2 Tables without a clustered index are no ...
- 《Pro SQL Server Internals, 2nd edition》中CHAPTER 7 Designing and Tuning the Indexes中的Clustered Index Design Considerations一节(译)
<Pro SQL Server Internals> 作者: Dmitri Korotkevitch 出版社: Apress出版年: 2016-12-29页数: 804定价: USD 59 ...
- 《Pro SQL Server Internals, 2nd edition》的CHAPTER 2 Tables and Indexes中的Clustered Indexes一节(翻译)
<Pro SQL Server Internals> 作者: Dmitri Korotkevitch 出版社: Apress出版年: 2016-12-29页数: 804定价: USD 59 ...
- SQL Server中的聚集索引(clustered index) 和 非聚集索引 (non-clustered index)
本文转载自 http://blog.csdn.net/ak913/article/details/8026743 面试时经常问到的问题: 1. 什么是聚合索引(clustered index) / ...
- Sql Server系列:分区表操作
1. 分区表简介 分区表在逻辑上是一个表,而物理上是多个表.从用户角度来看,分区表和普通表是一样的.使用分区表的主要目的是为改善大型表以及具有多个访问模式的表的可伸缩性和可管理性. 分区表是把数据按设 ...
- 看完SQL Server 2014 Q/A答疑集锦:想不升级都难!
看完SQL Server 2014 Q/A答疑集锦:想不升级都难! 转载自:http://mp.weixin.qq.com/s/5rZCgnMKmJqeC7hbe4CZ_g 本期嘉宾为微软技术中心技术 ...
- SQL Server 致程序员(容易忽略的错误)
标签:SQL SERVER/MSSQL/DBA/T-SQL好习惯/数据库/需要注意的地方/程序员/容易犯的错误/遇到的问题 概述 因为每天需要审核程序员发布的SQL语句,所以收集了一些程序员的一些常见 ...
- PowerDesigner-VBSrcipt-自动设置主键,外键名等(SQL Server)
在PowerDesigner中的设计SQL Server 数据表时,要求通过vbScript脚本实现下面的功能: 主键:pk_TableName 外键:fk_TableName_ForeignKeyC ...
随机推荐
- JS检测浏览器是否最大化
function isFullScreen (){ if( window.outerHeight === screen.availHeight ){ i ...
- 全国天气预报信息数据 API 功能简介与代码调用实战视频
此文章对开放数据接口 API 之「全国天气预报信息数据 API」进行了功能介绍.使用场景介绍以及调用方法的说明,供用户在使用数据接口时参考之用,并对实战开发进行了视频演示. 1. 产品功能 接口开放了 ...
- js获取response头信息
当我们使用ajax发起请求时,经常需要获取请求返回的头信息.默认情况下,js货可以获取如下头信息: Cache-Control Content-Language Content-Type Expirs ...
- docker私有镜像仓库搭建
环境:centos7,dockere版本:18.09.0,镜像仓库:v2 docker-registry:192.168.137.101 docker私有仓库服务器 docker-app: 192 ...
- day01(计算机组成,进制,内存分布,操作系统)
本周内容: 第一天: 计算机原理 操作系统 第二天: 编程语言 python入门:环境 - 编辑器 变量 基本数据类型 学习方法: 鸡汤 - 干货 wwwh : what | why | where ...
- 虚拟机系统安装Messenger和Server
YCD对支持虚拟机运行Messenger和Server, 不论用哪种虚拟机安装, 请保证: 确认DirectX和Direct 3D组件已经开启 为虚拟机分配显卡计算资源 如果不满足以上条件, 虚拟机上 ...
- Flask 快速使用 进阶—— (2)
案例:可配置发送信息的系统 假如我们有这样的一个系统,可以发送短息,邮件和微信,后期可能还会增加一些平台,怎么才可以做到快速切换的去使用某种功能呢,在这里我会通过在配置文件中简单的配置就可以实现 在项 ...
- Jmeter二次开发代码(1)
package org.apache.jmeter.functions; import java.util.Collection;import java.util.LinkedList;import ...
- D3.js 入门学习(一)
一.安装D3.js 1.网络连接 <script src="https://d3js.org/d3.v4.min.js"></script> 2.命令行安装 ...
- deb包转化为rpm包
deb文件格式本是ubuntu的安装文件,那么我想要在fedora中安装,需要把deb格式转化成rpm格式,我们用skype举例: 1.下载转换工具alien_8.78.tar.gz 2.deb转化成 ...