zoukankan      html  css  js  c++  java
  • Mysql三天入门(三) 索引

    概述

    • 索引就相当于一本书的目录,通过目录可以快速的找到对应的资源。
      • 在数据库方面,查询一张表的时候有两种检索方式:
        • 第一种方式:全表扫描
        • 第二种方式:根据索引检索(效率很高)
      • 索引为什么可以提高检索效率呢?
        • 其实最根本的原理是缩小了扫描的范围。

    索引原理

    • 索引被用来快速找出在一个列上用一特定值的行。没有索引,MySQL不得不首先以第一条记录开始,然后读完整个表直到它找出相关的行。表越大,花费时间越多。对于一个有序字段,可以运用二分查找(Binary Search),这就是为什么性能能得到本质上的提高。
    • MYISAM和INNODB都是用B+Tree作为索引结构
      (主键,unique 都会默认的添加索引)

    索引的分类

    1. 单一索引:给单个字段添加索引
    2. 复合索引:给多个字段联合起来添加一个索引
    3. 主键索引:主键上会自动添加索引
    4. 唯一索引:有unique约束的字段会自动添加索引

    应用

    • 创建索引:
        create index 索引名称 on 表名(字段名);
    • 查看索引
        show index from 表名;
    • 使用索引
        explain select sal from emp where sal > 1500;
        条件中的sal使用了索引
    • 删除索引:
         drop index 索引名称 on 表名;
  • 相关阅读:
    Go interface{}、类型断言
    相关资料
    php实践
    安装zookeeper
    对象池化,对象池
    java getResourcesAsStream()如何获取WEB-INF下的文件流
    android--SDK Manager下载Connection to http://dl-ssl.google.com refused
    Intellij idea 切换SVN路径
    Intellij Idea @Autowired取消提示
    恢复文件默认打开方式
  • 原文地址:https://www.cnblogs.com/thrseven/p/15120846.html
Copyright © 2011-2022 走看看