日期:2014-05-17  浏览次数:20414 次

求解mssql中主键详解,在线等~~~~~
   据相关资料介绍,在mssql中创建主键后会自动为主键列创建一个唯一索引,这个唯一索引能够提高查询效率吗?(即创建主键能够提高查询效率吗?).如果能,这个唯一索引和我们平时创建的索引有什么区别?求大神赐教!
------解决方案--------------------
"在mssql中创建主键后会自动为主键列创建一个唯一索引,这个唯一索引能够提高查询效率吗?"

唯一索引 = 唯一控制 + 索引

如楼主对该表查询都用得到主键,那这主键根据索引查询肯定“能够提高查询效率”
------解决方案--------------------
用SSMS的表设计器建主键会自动创建成 唯一聚集索引
这和普通索引区别有两点
因为唯一,所以键不能重复
二 因为是聚集的,所以利用该索引查找数据不会引入书签查找

聚集索引和非聚集索引的区别还是挺大的
------解决方案--------------------
主键是唯一标识一行数据的键,无论什么关系数据库管理系统,主键都必须:非空、唯一 。SQLServer默认会把主键定义成聚集索引,而用语句默认创建的索引是非聚集索引。它们两者区别最好看联机丛书。也需要在实践中体会。主键上的,其实是“约束”,如果SQLServer不把它默认成聚集索引,那么它不会和索引沾上边。切记,主键是为了唯一标识一行数据,它本来就不是为了性能设计的。很多情况下,聚集索引可能需要换成其他的列。