• 索引介绍


    索引是对数据库表中一列或多列的值进行排序的一种结构,换句话说用于定位相同字段的一种标识符,其就相当于图书的目录。

    当sql语句在执行查询操作的时候,有两种搜索方式。第一种搜索信息方式是全表搜索,第二种根据索引,找到符合查询条件的索引值,再通过保存在索引中的ROWID(相当于页码)快速找到表中对应的记录。

    建立索引的优点

    • 1.大大加快数据的检索速度;
    • 2.创建唯一性索引,保证数据库表中每一行数据的唯一性;
    • 3.加速表和表之间的连接;
    • 4.在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。

    索引的缺点

    • 1.索引需要占物理空间。
    • 2.当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度。

    索引的设计原则:

    • 提高查询语句的效率,减慢了DML语句的速度。
    • 在全表扫描和索引之间权衡。
    • 能够使用组合索引的则尽量使用组合索引。
    • 对于大表,尽量利用local的分区索引。

    索引使用的一些具体规则:

    • 在哪些列上建立索引:
      1. Where字局中引用的列
      2. Join中利用的列
      3. 在子表的FK上建立索引(防止对父表操作时锁住子表)
    • 在哪些列上不要建立索引:
      1. 经常有DML操作
      2. 排它性小
      3. 不建议表上索引超过5个
    • 索引不起作用的情况:
      1. 存在数据类型隐形转换
      2. 列上有数学运算
      3. 使用不等于(< >)运算
      4. 使用substr字符串函数
      5. %通配符在第一个字符
      6. 字符串连接(||)
    • 删除不使用的索引
    • 定期重建大量删除操作的索引

    (备注知识)

    对于SQL语言,有两个组成部分:
    DML(data manipulation language):它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言。

    DDL(data definition language):DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用。

  • 相关阅读:
    window.location.href的使用方法
    hdu 2850 Load Balancing (优先队列 + 贪心)
    几种常见模式识别算法整理和总结
    【DateStructure】 Charnming usages of Map collection in Java
    编写你自己的单点登录(SSO)服务
    微软历史最高市值是多少?
    Tomcat配置一个ip绑定多个域名
    递归算法:求序列的全排列
    SMTP协议分析
    platform_device与platform_driver
  • 原文地址:https://www.cnblogs.com/huangcongcong/p/4004948.html
Copyright © 2020-2023  润新知