zoukankan      html  css  js  c++  java
  • 浅谈索引

    1、索引的特点
        1.索引可以加快数据库的检索速度
        2.索引降低了数据库插入、修改、删除等维护任务的速度
        3.索引创建在表上,不能创建在视图上
        4.索引既可以直接创建,也可以间接创建
        5.可以在优化隐藏中,使用索引
        6.使用查询处理器执行SQL语句,在一个表上,一次只能使用一个索引
        7.其他

    2、索引的优点
        1.创建唯一性索引,保证数据库表中每一行数据的唯一性
        2.大大加快数据的检索速度,这也是创建索引的最主要的原因
        3.加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。
        4.在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。
        5.通过使用索引,可以在查询的过程中使用优化隐藏器,提高系统的性能。

    3、索引的缺点
        1.创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加
        2.索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大
        3.当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度

    4、索引分类
        1.直接创建索引和间接创建索引
        直接创建索引: CREATE INDEX mycolumn_index ON mytable (myclumn)
        间接创建索引:定义主键约束或者唯一性键约束,可以间接创建索引
        2.普通索引和唯一性索引
        普通索引:CREATE INDEX mycolumn_index ON mytable (myclumn)
        唯一性索引:保证在索引列中的全部数据是唯一的,对聚簇索引和非聚簇索引都可以使用
        CREATE UNIQUE COUSTERED INDEX myclumn_cindex ON mytable(mycolumn)
        3.单个索引和复合索引
        单个索引:即非复合索引
        复合索引:又叫组合索引,在索引建立语句中同时包含多个字段名,最多16个字段
        CREATE INDEX name_index ON username(firstname,lastname)
        4.聚簇索引和非聚簇索引(聚集索引,群集索引)
       聚簇索引:物理索引,与基表的物理顺序相同,数据值的顺序总是按照顺序排列
        CREATE CLUSTERED INDEX mycolumn_cindex ON mytable(mycolumn) WITH
        ALLOW_DUP_ROW(允许有重复记录的聚簇索引)
       非聚簇索引:CREATE UNCLUSTERED INDEX mycolumn_cindex ON mytable(mycolumn)

  • 相关阅读:
    记一次诡异的调优
    java动态代理学习笔记
    c#反射机制学习和利用反射获取类型信息
    php开启ssl的方法
    关于java中split的使用
    c#使用反射调用类型成员示例
    C#关于反射加载的问题
    Twitter:使用Netty 4来减少GC开销
    Java中如何修改Jar中的内容
    Android中自定义视图View之---前奏篇
  • 原文地址:https://www.cnblogs.com/hkdpp/p/8301968.html
Copyright © 2011-2022 走看看