• Sql Server中 索引



      索引
     索引的定义:
      再Sql Server 数据库中的索引分为聚集索引和非聚集索引
      聚集索引:当数据的实际存储数据与索引的数据一致就把该索引叫做聚集索引
      非聚集索引:当索引的数据与实际的存储数据不一致时叫做非聚集索引
     
      没张表的主键默认就是聚集索引
     
      我们把主键作为聚集索引,如果我们会经常用标准别的字段来查询数据时,我们都可以将此字段设为索引
      例如:
      有一张student表
      create table student
      (
       stuId int primary key not null,
       stuName varchar(30),    --学生姓名
       stuAge int,       ---学生年龄    
       stuMath int,      --学生数据成绩
       stuChinese int,    --学生语文成绩
      )
      
      stuId字段是主键  所以它默认为聚集索引
      如果我们要经常用学生年龄,或者学生数学成绩或者语文成绩查询学生表
      那么我们都可以再stuAge,stuMath,stuChinese列中建立非聚集索引,这样就可以很大的提高查询的数据
      
     索引的原理:
      索引就像一个字段的目录,字典如果目录,当我们需要查询某个字的时候,就只有从第一页开始查直到找到我们需要的字(当然人肯定比电脑
       聪明,所以就算没有目录也不会从第一页开始找,但电脑会)。
      一张表就相当与一部字典,表中有了索引,就会再索引这个目录中查找我们需要的数据,所以就能很大提高查询效率
      
      当将表中的某一字段上设置了索引,在索引中他会将此字段列排序,或者分类,当我们要使用此类查询数据时,它会在此列排序后的
       列表中通过一些算法查询出我们需要的数据。
       
     索引的缺点:
      存储索引需要空间,所以创建索引会扩大数据量,当我们数据量很大时,索引建立的不规范也会影响数据库性能。
      会影响在对表执行增删改时的性能,例如当对表添加一行数据时,如果有索引,在索引中他要确定在新添加行的位置
      
     添加因子:
      举一例:
       命令新来的一位同学,必须做在第一个座位,那么其他所有的同学都必须向后移动一个位置
      如果索引的时候,会隔一段距离,在空一段距离,当有新的数据添加的时候就不用挪动全表了。
      
      其实创建索引是一页一页的创建的,可以规定每一页只能在其多少种放入数据(假设是70%),当每一页数据满了70%,它会移动下一页
       这样就为索引留了空位,以便后天添加数据
     利用添加因子就解决了,添加数据带来移动挪动全表了。
     
     创建索引:
      可以用设计器,也可以查帮助文档,就不说了
       

  • 相关阅读:
    转:python时间日期处理小结
    vi 的一些常用操作-君子善假于物也
    没有了老师,该如何学习?
    git常用命令
    python 读配置文件
    Python中unittest用法实例
    python 单元测试unnitest-摘录自http://www.cnblogs.com/hackerain/p/3682019.html#undefined
    纯CSS实现立方体旋转
    CSS 3动画
    CSS 2D转换
  • 原文地址:https://www.cnblogs.com/jaifyhome/p/Index.html
Copyright © 2020-2023  润新知