1.要建索引,就必须要有主键,而主键又默认为聚集索引,不能修改,主键又是唯一的,像一条评论的id,所以只能将聚集索引建在这个id上,这是不是太无奈了,有没有什么好的想法?
2.建了聚集索引之后,通过聚集索引可以快速的查询,那么非聚集索引又有什么用处呢?
两点疑惑,请各位帮忙解答
1)创建与修改聚集索引和非聚集索引
http://www.qqgb.com/DataDB/MSSQL/sqlMemory/DataDB_263497.html
2)非聚集索引的用处
http://topic.csdn.net/u/20090430/16/67d9f33a-4d20-4986-a321-4d52402661b5.html
更多详细内容请参考以下链接:
http://www.cnblogs.com/flashicp/archive/2008/08/18/739245.html
(1).你可以把id设为标识列,然后再设为主键。把需要修改的列设为唯一索引就行了。
(2)聚集索引可以快速的查询,但非聚集索引也一样,可以加快SQL语句的执行效率,减小CPU等使用。你可以在执行SQL语句的时候打开视图来查看,CUP的使用等.....一对比你就知道非聚集索引的好处了。
注意一点:非聚集引索只能在where后才有作用。
如:select * from 表名 where title="博客园" 。title是非聚集索引。
聚集索引,非聚集索引 2个都是索引 外部看起来没区别或者说区别仅仅在于查询速率
聚集索引只能建一个(组合索引也就算一个索引)
非聚集索引可以建立n个
内部结构
聚集索引是物理级别的索引
非聚集索引是逻辑上的索引
优点
可以提高查询效率
缺点
会降低添加和更新的时候的效率(因为添加和更新的时候会根据索引重新排序)