学海网 文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > IT/计算机 > 互联网 > SQL的索引

SQL的索引

你真的了解SQL的索引吗?
其实对于非专业的数据库操作人员来讲,例如软件开发人员,在很大程度上都搞不清楚数据库索引的一些基本知识,有些是知其一不知其二,或者是知其然不知其所以然。造成这种情况的主要原因我觉的是行业原因,有很多公司都有自己的DBA团队,他们会帮助你优化SQL,开发人员即使不懂优化问题也不大,所以开发人员对这方面也就不会下太多功夫去了解SQL优化,但如果公司没有这样的DBA呢,就只能靠程序员自己了。 最近突然想起前一阵和一朋友的聊天,当时他问我的问题是一个非常普通的问题:说说SQL聚集索引和非聚集索引的区别。

大家可能认为这个问题难度不大,认为太熟悉了,也许不会感兴趣,但你真能说清楚吗?其实要想说明白这两者的差别也不是三两句就说的清的,那天我也是觉的这问题太泛了,就随便说了其中的两个区别:

?聚集索引一个表只能有一个,而非聚集索引一个表可以存在多个,这个跟没问题没差别,一般人都知道。
?聚集索引存储记录是物理上连续存在,而非聚集索引是逻辑上的连续,物理存储并不连续,这个大家也都知道。
上面的两点从大的方面讲都是讲的通的,后面我们继续探讨,举一个实际点的例子,一个学生表student,里面是学生号id,学生姓名,学生所在城市ID,学生成绩(总分)。

?问:如果想按姓名查询,如何做优化?
?答:在姓名字段上建立索引。
?问:建立什么类型的索引?
?答:建立非聚集索引。
?问:为什么?
?答:一般有范围查询的需求,可以考虑在此字段上创建聚集索引。
?问:学分有重复性,在学分字段上创建聚集索引能行吗? ....沉思,不能创建吗?之前的项目好像真这样做过
?答:应该可以吧。
?问:聚集索引的约束是什么?
?答:唯一性啊?
?问:既然是唯一性,那么学分字段上还能创建聚集索引吗?....再次沉思,应该可以啊,但索引的约束又怎么说呢?
?答:应该可以的,以前用过。
我自认为是对数据库索引知识有一定研究的,但可能是有两年没实际接触SQL的原因,一时还真想不出具有说服力的解释,朋友们看到这能解答我的问题吗?

其实上面的我们需要搞清楚以下几个问题:

第一:聚集索引的约束是唯一性,是否要求字段也是唯一的呢?

分析:如果认为是的朋友,可能是受系统默认设置的影响,一般我们指定一个表的主键,如果这个表之前没有聚集索引,同时建立主键时候没有强制指定使用非聚集索引,SQL会默认在此字段上创建一个聚集索引,而主键都是唯一的,所以理所当然的认为创建聚集索引的字段也需要唯一。

第1页

TOP相关主题

  • sql索引
  • sql的索引是什么
  • sql索引的使用
  • sql索引的作用
  • sql中索引的作用
  • 删除索引的sql语句是
  • sql索引创建的原则是
  • sql server 索引

我要评论

相关文档

  • sql索引类型

    sql索引类型_计算机软件及应用_IT/计算机_专业资料。sql索引类型,资源免费,大家分享!sql 索引类型 唯一索引:唯一索引不允许两行具有相同的索引值 主键索引:为表定义...

  • SQL索引介绍

    正是由它管理文件系统并记录对文件的一切操作,系统才得以正常运行;同理,作为管理系统级的SQL SERVER,也有这样一张类似FAT的表存在,它就是索引分布映像页:IAM(...

  • sql索引好处

    sql索引好处_IT/计算机_专业资料。索引好处索引对性能的作用 如何让你的SQL运行得更快 一、使用索引的优点: 1、通过唯一性索引(unique)可确保数据的唯一性 2、加...

  • SQL索引技巧

    SQL索引技巧_IT/计算机_专业资料。或许你以学会如何对数据进行索引,但要做好,还需要不懈努力。。。在SQL Server中,为了查询性能的优化,有时我们就需要对数据表通过...

  • SQL索引概念

    SQL索引概念_工学_高等教育_教育专区。SQL索引概念一、索引的概念 索引就是加快检索表中数据的方法。数据库的索引类似于书籍的索引。在书籍中, 索引允许用户不必翻...

  • SQL的索引

    SQL的索引_计算机软件及应用_IT/计算机_专业资料。索引 1.什么是索引? 索引是与表或视图关联的独立的、物理的数据库结构,可以加快从表或视图中检检索行的速度。...

  • sql 索引的作用(超详细)

    sql 索引的作用(超详细)_计算机软件及应用_IT/计算机_专业资料。详细讲解sql 索引的作用,聚集索引,非聚集索引。以及什么情况下用聚集索引,什么情况下用非聚集索引。...

  • SQL 创建索引的作用以及如何创建索引

    SQL 创建索引的作用以及如何创建索引 SQL 创建索引的作用 一、使用索引的优点: 1、通过唯一性索引(unique)可确保数据的唯一性 2、加快数据的检索速度 3、加快表...

  • SQL建立索引

    为了给一个表建立索引, 启动任务栏 SQL Sever 程序组中的 ISQL/w 程序。 进入查询窗口后, 输入下面的语句: CREATE INDEX mycolumn_index ON mytable (myclumn...

  • SQL优化-索引SQL2005

    SQL 优化 索引 优化-索引微软的 SQL SERVER 提供了两种索引:聚集索引(clustered index,也称聚类索引,簇集索引) 和非聚集索引(nonclustered index,也称非聚类索引,...

站点地图 | 文档上传 | 侵权投诉 | 手机版
新浪认证  诚信网站  绿色网站  可信网站   非经营性网站备案
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.xuehai.net All Rights Reserved.  email
返回顶部