zoukankan      html  css  js  c++  java
  • 索引的概念

    索引是定义在存储表(Table)的基础之上,有助于无需检查所有记录而快速定位所需记录的一种辅助存储机构,由一系列存储在磁盘上的索引项(index entries)组成,每一索引项又由两部分构成:索引字段和行指针

    存储索引项的文件为索引文件,存储表称为主文件。

    索引的存在与否不改变存储表的物理存储结构,其目的是可以明显提高存储表的访问速度

    索引文件组织方式有两种:

    排序索引文件:按索引字段值的某一顺序组织存储

    散列索引文件:依据索引字段值使用散列函数分配散列桶的方式存储。

    (主文件组织有堆文件、排序文件、散列文件、聚簇文件等)

    索引字段的值可以是Table中的任何一个属性的值或者多个属性值的组合值。

    索引文件比主文件很多,通过检索一个小的索引文件(可全部装载进进内存),快速定位后,再有针对性的读取非常大的主文件中的有关记录。

    索引技术应用使检索效率大幅度提高,但同时也增加了存储空间、使维护负担加重(要同时维护主文件和索引文件)

    衡量索引性能好坏

    访问时间、插入时间、删除时间、空间负载、支持存取的有效性(比如:支持的是属性的限定值还是支持属性的限定范围的值)

    对经常出现在检索条件、连接条件、分组计算条件中的属性可建立索引。

    SQL语言关于索引

    1.基本知识

    当定义Table后,如果定义了主键,则系统将自动创建主索引,利用主索引对Table进行快速定位、检索与更新操作。

    当索引被创建后,无论是主索引还是用户创建的索引,DBMS都将自动维护所有的索引

    当Table被删除后(drop table),定义在该Table上的所有索引将自动被撤销

    2.创建和维护索引的SQL语句

    创建索引:

    CREATE [UNIQUE] INDEX indexname

                  ON tablename ( colname[asc|desc] ...);

    【一般默认是asc,表示从小到大排序;desc表示从大到小排序】  

    示例:在student表中创建一个基于Sname的索引

    create index idxSname on student(sname);

    示例:在student表中创建一个基于Sname和Sclass的索引

    create index idxSnamcl on student(sname,sclass);

    示例:撤销用户创建的索引

    drop index indexname;

    越努力越幸运
  • 相关阅读:
    swf上传地址
    Nape 获取碰撞点加特效
    vbs打包exe工具
    Air打包exe
    JDK12的安装搭建
    Dubble 入门
    FastDFS 集群
    PAT Advanced 1077 Kuchiguse (20 分)
    高可用4层lvs——keepalived
    PAT Advanced 1035 Password (20 分)
  • 原文地址:https://www.cnblogs.com/labixinxinyexiangyouxiaobai/p/9737343.html
Copyright © 2011-2022 走看看