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 表名;
  • 相关阅读:
    关于centos防火墙
    linux基础命令
    mysql经典语句
    异常处理
    抽象类
    特性-多态
    特性-继承
    特性-封装
    python模块/文件/日期时间
    python函数3-函数嵌套/递归/匿名函数
  • 原文地址:https://www.cnblogs.com/thrseven/p/15120846.html
Copyright © 2011-2022 走看看