然后打开Sql Server 2012,就开始报错。 ? 重装之后,也还是报错,将卸载掉的组件重新安装也不行。...如下图所示路径:C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE 双击运行DDConfigCA.exe后,Sql Server...2012即可正常运行了。
组合一:id列是主键,RC隔离级别 组合二:id列是二级唯一索引,RC隔离级别 组合三:id列是二级非唯一索引,RC隔离级别 组合四:id列上没有索引,RC隔离级别 组合五:id列是主键,RR隔离级别...结论:id是主键时,此SQL只需要在id=10这条记录上加X锁即可。 组合二:id唯一索引+RC 这个组合,id不是主键,而是一个Unique的二级索引键值。...结论:若id列上有非唯一索引,那么对应的所有满足SQL查询条件的记录,都会被加锁。同时,这些记录在主键索引上的记录,也会被加锁。 组合四:id无索引+RC 相对于前面三个组合,这是一个比较特殊的情况。...结论:若id列上没有索引,SQL会走聚簇索引的全扫描进行过滤,由于过滤是由MySQL Server层面进行的。因此每条记录,无论是否满足条件,都会被加上X锁。...Filter过滤条件,无论是否满足,都需要加X锁。
delete from t1 where id = 10; 组合一:id列是主键,RC隔离级别 id = 10的记录加上X锁....那么SQL需要加两个X锁,一个对应于id unique索引上的id = 10的记录,另一把锁对应于聚簇索引上的[name=’*’,id=10]的记录。...组合三:id列是二级非唯一索引,RC隔离级别 id列索引上,满足id = 10查询条件的记录,均已加锁。同时,这些记录对应的主键索引上的记录也都加上了锁。...组合四:id列上没有索引,RC隔离级别 若id列上没有索引,SQL会走聚簇索引的全扫描进行过滤,由于过滤是由MySQL Server层面进行的。因此每条记录,无论是否满足条件,都会被加上X锁。...组合五:id列是主键,RR隔离级别 与组合一相同 组合六:id列是二级唯一索引,RR隔离级别 与组合五类似,组合六的加锁,与组合二:[id唯一索引,Read Committed]一致。
1.2.1 id 任何一个映射都必须声明一个数据表的主键,大多数类也必须有一个唯一标示字段用来区分不同的实例。...Server 7 NHibernate.Dialect.MsSql7Dialect Microsoft SQL Server 2000 NHibernate.Dialect.MsSql2000Dialect...Microsoft SQL Server 2005 NHibernate.Dialect.MsSql2005Dialect Microsoft SQL Server 2008 NHibernate.Dialect.MsSql2008Dialect...Microsoft SQL Azure Server 2008 NHibernate.Dialect.MsSqlAzure2008Dialect Microsoft SQL Server 2012...Hibernate.Dialect.MsSql2012Dialect Microsoft SQL Server Compact Edition NHibernate.Dialect.MsSqlCeDialect
结论:id是主键是,此SQL语句只需要在id = 10这条记录上加上X锁即可。 组合二:id唯一索引 + RC 这个组合,id不是主键,而是一个Unique的二级索引键值。...组合三:id不唯一索引+RC 该组合中,id列不在唯一,而是个普通索引,那么当执行sql语句时,MySQL又是如何加锁呢?看下图: ?...结论:若id列上有非唯一索引,那么对应的所有满足SQL查询条件的记录,都会加上锁。同时,这些记录在主键索引上也会加上锁。...由于是在MySQl Server层面进行的。因此每条记录无论是否满足条件,都会加上X锁,但是,为了效率考虑,MySQL在这方面进行了改进,在扫描过程中,若记录不满足过滤条件,会进行解锁操作。...组合五:id主键+RR 该组合为id是主键,Repeatable Read隔离级别,针对于上述的SQL语句,加锁过程和组合一(id主键+RC)一致。
当你使用一个dmv时,你需要紧记SQL Server收集这些信息有多长时间了,以确定这些从dmv返回的数据到底有多少可用性。...)包含ProductID = 112记录的索引页也包括所有的聚集索引键(所有的主键键值,即SalesID); 3)针对每一个主键(这里是400),SQL Server引擎查找聚集索引树找出真实的行在对应页面中的位置...在上面的步骤中,对ProductID = 112的每个主键记录(这里是400),SQL Server引擎要搜索400次聚集索引树以检索查询中指定的其它列(SalesDate,SalesPersonID)...幸运的是,有一种方法实现了这个功能,它被称为“覆盖索引”,在表列上创建覆盖索引时,需要指定哪些额外的列值需要和聚集索引键值(主键)一起存储在索引页中。...2012-1228.html 1.8 索引实战(摘抄) 之所以这章摘抄,是因为下面这个文章已经写的太好了,估计我写出来也无法比这个好了,所以就摘抄了 人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确
只有你的数据是分段的数据,那么才要考虑到是否需要使用分区表。这里我们的数据是按时间段进行查询的,所以我们可以在这里进行分区。...SQL Server会自动地将它放在它应该呆在的那个物理上的小表里。 同样,对于查询而言,程序员也只需要设置好查询条件,OK,SQL Server会自动将去相应的表里查询,不用管太多事了。 ...要知道IQ的速度往往是影响SQL Server运行速度的重要条件之一。将不同的文件放在不同的硬盘上,可以加快SQL Server的运行速度。...说的很简单,但是在实现实现可就没有那么容易了,因为你的数据库中存在主键,外键等约束关系,那么我们在将普通表转换成分区表时,首先就需要解决这些问题。...但是我们需要修改的t_sellLog表中的orderId既是主键又是聚集索引,而且还是其它表的外键。
只有你的数据是分段的数据,那么才要考虑到是否需要使用分区表。 3、什么叫数据是分段的?这个说法虽然很不专业,但很好理解。...SQL Server会自动地将它放在它应该呆在的那个物理上的小表里。 同样,对于查询而言,程序员也只需要设置好查询条件,OK,SQL Server会自动将去相应的表里查询,不用管太多事了。...可惜的是,在SQL Server中,如果一个字段既是主键又是聚集索引时,并不能仅仅删除聚集索引。...,也就是在创建PK_Sale主键时SQL Server自动创建的索引。...而经普通表转换成分区表的Sale1的索引里,除了在创建主键时由SQL Server自动创建的名为PK_Sale1的唯一的、非聚集的索引之外,还存在一个名为CT_Sale1的聚集索引。
主键索引:要求主键中的每个值是唯一的,主键索引通常用于唯一标识每一行,以便于快速查找和连接数据。...,全文索引通常用于处理大量文本数据,如文章、博客帖子或文档 3.唯一索引和主键索引的区别: 主键索引一定是唯一索引,唯一索引不一定是主键索引。...主键索引一定是聚集索引。唯一索引不一定是聚集索引。...按照“数据库引擎优化顾问”的索引建议建立聚集索引,并且选择“唯一” 再次执行Select * from 学生表Where 学号=900000 打开sql server profiler查看跟踪的时间,...按照“数据库引擎优化顾问”的索引建议建立聚集索引,并且选择“唯一” 再次执行Select * from 学生表Where 学号=900000 打开sql server profiler查看跟踪的时间,
,RR隔离级别 7、id列是二级不唯一索引,RR隔离级别 8、id列上没有索引,RR隔离级别 组合一、id主键 + RC 这个组合是分析最简单的,到执行该语句时,只需要将主键id = 10的记录加上X锁...如下图所示: 结论:id是主键是,此SQL语句只需要在id = 10这条记录上加上X锁即可。 组合二、id唯一索引 + RC 这个组合,id不是主键,而是一个Unique的二级索引键值。...组合三、id不唯一索引+RC 该组合中,id列不在唯一,而是个普通索引,那么当执行sql语句时,MySQL又是如何加锁呢?...由于是在MySQl Server层面进行的。因此每条记录无论是否满足条件,都会加上X锁,但是,为了效率考虑,MySQL在这方面进行了改进,在扫描过程中,若记录不满足过滤条件,会进行解锁操作。...组合五、id主键+RR 该组合为id是主键,Repeatable Read隔离级别,针对于上述的SQL语句,加锁过程和组合一(id主键+RC)一致。
在Microsoft SQL Server 2008系统中,可以使用两种方式实现数据完整性,即声明数据完整性和过程数据完整性。...否则,Microsoft SQL Server系统将提供一个复杂的、系统自动生成的名称。对于一个数据库来说,约束名称必须是唯一的。一般来说,约束的名称应该按照这种格式:约束类型简称_表名_列名_代号。...使用主键约束考虑 l 每一个表最多只能定义一个主键约束。 l 主键列所输入的值必须是唯一的。如果主键约束由两个或两个以上的列组成,那么这些列的组合必须是唯一的。...l 可以把UNIQUE约束放在一个或者多个列上,这些列或列的组合必须有唯一的值。但是,UNIQUE约束所在的列并不是表的主键列。...一般情况下,在Microsoft SQL Server关系型数据库管理系统中,表和表之间经常存在着大量的关系,这些关系都是通过定义主键约束和外键约束实现的。
server profiler ”工具进行跟踪,如下图所示: 打开“sql server profiler ”工具查看跟踪的信息,发现查询时间很长,cpu工作了265毫秒,reads:读了8649次,...为了下面分析文件更准确,多执行几次Select* from 学生表 Where 学号=900000 然后把跟踪的结果保存在桌面上: 5、打开“数据库引擎优化顾问”,添加跟踪文件,进行分析,发现索引建议,需要建立索引...6、按照“数据库引擎优化顾问”的索引建议建立聚集索引,并且选择“唯一” 7、再次执行Select * from 学生表Where 学号=900000 8、打开sql server profiler查看跟踪的时间...发现总计时间为1毫秒,几乎忽略不计 实验案例二:分别练习创建各种索引 1、创建聚集索引 目前tstudent表中没有任何索引也没有主键 为tstudent表创建聚集索引 选中studentID,单击左上侧的主键按钮...为Tstuden表的studentID创建主键就同时创建了聚集索引 2、创建组合索引 为成绩表创建组合索引,因为一个学生不能为一门学科录入两次成绩,所以将成绩表中的studentID和subjectID
一.主键 1)....主键的修改 修改主键时,必须先删除现有的PRIMARY KEY 约束,然后再用新定义重新创建该约束。 3)....主键的删除 USE AdventureWorks2012; GO -- Return the name of primary key....唯一约束和CHECK 约束 这两种约束是SQL server 表中强制数据完整性的两种类型的约束。...创建唯一约束 在新表创建唯一约束 USE AdventureWorks2012; GO CREATE TABLE Production.TransactionHistoryArchive4
Server数据库表管理 49 50 2-1:表的几个基本概念 51 a.数据完整性(可靠性、准确性) 52 (1)实体完整性约束【行】(索引、唯一约束、主键约束或标识列属性...(1)主键 58 表中有一列或几列组合的值能用来唯一地标识表中的每一行,这样的一列或者多列组合叫做表的主键。...一个表只能有一个主键,主键约束确保了表中的行是唯一的;尽管表中可以没有主键,但是通常情况下应当为表设置一列为主键。...如果两列或多列组合起来唯一地标识表中的每一行,则该主键也叫做"组合键";在选择哪列为主键时应该考虑连个原则:最少性和稳定性。...语句的综合应用(P74页) 582 583 584 10.事务、索引和视图 585 586 10-1:事务 587 事务的应用场景:当一个事务需要两条或两条以上SQL Server
类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置吗,然后直接获取 索引的作用 约束和加速查找 常见的几种索引: 单列:普通索引,唯一索引,主键索引 多列:联合索引(多列),比如:联合主键索引...、联合唯一索引、联合普通索引 联合索引,也称之为组合索引 总结: 单列: 唯一索引: 加速查找 + unique(约束)可以为空 普通索引: 仅有一个功能:加速查找 create index... ix_name on userinfo(name); 主键索引: 加速查找+约束(不为空) 多列: 组合索引 主键索引比普通索引快 无索引和有索引的区别以及建立索引的目的 无索引: 从前往后一条一条查询...create unique index 索引名 on 表名(列名) 删除唯一索引 drop unique index 索引名 on 表名 主键索引 主键索引有两个功能: 加速查找和唯一约束(不含null...#最左前缀匹配: #创建组合索引,name和email组合 create index ix_name_email on userinfo(name,email); #执行下面3个sql select
索引越多统计信息越过,但过多的索引会导致优化器优化过程需要评估的组合增多。创建索引的时候,应该仔细考虑在哪些列上可以创建索引,哪些列上不能创建索引。...一般来说,应该在下面这些列上创建索引 在经常搜索的列上创建索引,能够加快搜索的速度; 在作为主键的列上创建索引,需要强制该列的唯一性和组织表中数据的排列结构; 在经常被用在连接的列上(主要是外键)建立索引...在索引创建的过程中,SQL Server临时使用当前数据库的磁盘空间,当创建聚簇索引时,需要1.2倍的表空间大小。因此,需要保证有足够的磁盘空间用于创建聚簇索引。...当创建唯一性索引时,应认真考虑如下规则 当在表中创建主键约束或者唯一性键约束时,SQL Server会自动创建一个唯一性索引; 如果表中已经包含有数据,那么创建索引时,SQL Server会检查表中已有数据的冗余性...; 每当使用插入语句或者修改语句时,SQL Server都会检查数据的冗余性;如果有冗余值,那么SQL Server将会取消该语句的执行,并且返回一个错误信息; (确保表中的每一行都有一个唯一值,这样逻辑上可以确保每一个实体都可以唯一确认
例如,用户表中的身份证(idcard) 列上创建了唯一索引,则所有身份证不能重复 主键索引 主键索引是唯一索引的特殊类型。 数据库表通常有一列或列组合,其值用来唯一标识表中的每一行。...该列称为表的主键。 在数据库关系图中为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。主键索引要求主键中的每个值是唯一的。当在查询中使用主键索引时,它还允许快速访问数据。...比较: 1对于主健/unique constraint , oracle/sql server/mysql等都会自动建立唯一索引; 2主键不一定只包含一个字段,所以如果你在主键的其中一个字段建唯一索引还是必要的...; 3主健可作外健,唯一索引不可; 4主健不可为空,唯一索引可; 5主健也可是多个字段的组合; 6主键与唯一索引不同的是: (1).有not null属性; (2).每个表只能有一个。...索引的注意事项 1.组合或者引用关系的子表(数据量较大的时候),需要在关联主表的列上建立非聚集索引(如订单明细表中的产品ID字段、订单明细表中关联的订单ID字段) 2.索引键的大小不能超过900个字节,
四、执行计划 explain + 查询SQL - 用于显示SQL执行信息参数,根据参考信息可以进行SQL优化 普通索引 最基本的索引类型,没有唯一性之类的限制。...主键索引 简称为主索引,数据库表中一列或列组合(字段)的值唯一标识表中的每一行。该列称为表的主键。 在数据库关系图中为表定义主键将自动创建主键索引,主键索引是唯一索引的特定类型。...如果在表中创建了主键约束,SQL Server将自动为其产生唯一性约束。在创建主键约束时,指定了CLUSTERED关键字或干脆没有制定该关键字,SQL Sever将会自动为表生成唯一聚集索引。...如果在表中创建了主键约束,SQL Server将自动为其产生唯一性约束。在创建主键约束时,如果制定CLUSTERED关键字,则将为表产生唯一聚集索引。 UNIQUE——建立唯一索引。...实例项目代码(根据SQl直观体验) 1、字段的数值有唯一性限制 根据Alibaba规范,指明在业务上具有唯一特性的字段,即使是组合字段,也必须建成唯一索引。
GenerationType.INDENTITY - 根据数据库的Identity字段生成,支持DB2、MySQL、 MS、SQL...Server、SyBase与HyperanoicSQL数据库的Identity 类型主键。...name - 可选,表示数据库表中该字段的名称,默认情形属性名称一致 nullable -可选,表示该字段是否允许为 null,默认为true unique - 可选,表示该字段是否是唯一标识,...,该字段是否应该出现在 UPDATE语句中,默认为 true....,默认的是true unique 生成唯一的约束,就是这个字段的值唯一,默认的false @JoinTabl 当涉及到多对多的映射关系的时候,用来定义第三表的表名,和字段的名称。
根据上述情况,有以下几种组合 id列是主键,RC隔离级别 id列是二级唯一索引,RC隔离级别 id列是二级非唯一索引,RC隔离级别 id列上没有索引,RC隔离级别 id列是主键,RR隔离级别 id列是二级唯一索引...如下图1: 结论:id是主键时,此SQL只需要在id=10这条记录上加X锁即可。 2. id唯一索引+RC 这个组合,id不是主键,而是一个Unique的二级索引键值。...那么SQL需要加两个X锁,一个对应于id unique索引上的id = 10的记录,另一把锁对应于聚簇索引上的[name='d',id=10]的记录、 3. id非唯一索引+RC 相对于组合一、二,组合三又发生了变化...同时,这些记录对应的主键索引上的记录也都加上了锁。与组合二唯一的区别在于,组合二最多只有一个满足等值查询的记录,而组合三会将所有满足查询条件的记录都加锁。...结论:若id列上没有索引,SQL会走聚簇索引的全扫描进行过滤,由于过滤是由MySQL Server层面进行的。因此每条记录,无论是否满足条件,都会被加上X锁。
领取专属 10元无门槛券
手把手带您无忧上云