• 索引的简单使用


    1.定义:

      在关系数据库中,索引是一种单独的、物理的数对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。

    2.内部实现原理:

      数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树(B-tree)即平衡树

    在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。

    3.优点: 

      第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。

      第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。

      第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。

      第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。

      第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。

    4.缺点:

      第一,创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。

      第二,索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。

      第三,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。

    5.包括:

      唯一索引、主键索引和聚集索引。 

      聚集索引也称为聚簇索引,在聚集索引中,表中行的物理顺序与键值的逻辑(索引)顺序相同。一个表只能包含一个聚集索引, 即如果存在聚集索引,就不能再指定CLUSTERED 关键字。
     
      索引不是聚集索引,则表中行的物理顺序与键值的逻辑顺序不匹配。与非聚集索引相比,聚集索引通常提供更快的数据访问速度。聚集索引更适用于对很少对基表进行增删改操作的情况。

    6.创建方式:

      CREATE INDEX <索引的名字> ON tablename (列的列表);

    7.mySql检查性能:

      explain select * from tab where group by order by

      

  • 相关阅读:
    【转】线程的7种状态及相互转换
    java timer 使用:
    LayoutInflater
    java中Thread与Runnable的区别
    php上传程序到服务器后出错smarty1259
    cakephp ajax
    纯真IP数据库的应用IP地址转化成十进制
    对数组里的元素进行排序
    smarty中的cache_id问题
    箴言
  • 原文地址:https://www.cnblogs.com/xu-lei/p/6645218.html
Copyright © 2020-2023  润新知