zoukankan      html  css  js  c++  java
  • Mysql--索引

    Mysql 系列文章主页

    ===============

    1 索引是什么

    Mysql官方对索引的定义:索引是帮助 Mysql 高效获取数据的数据结构。所以,索引的本质:索引是数据结构。索引的目的在于提高查询效率,可类比字典。

    索引:排好序的快速查找数据结构

    用于:排序 + 快速查找。注意,是两种功能。

    数据本身之外,数据库还维护着一个满足特定查找算法的数据结构,这些数据结构以某种方式指向数据,这样就可以在这些数据结构的基础上实现高级查找算法,这种数据结构就是索引。

    索引通常是指B树索引。

    2 索引优势

    类似大学图书馆书目索引,提高数据检索的效率,降低数据库的 IO 成本;

    通过索引列对数据进行排序,降低数据排序的成本,降低了 CPU 的消耗;

    3 索引劣势

    索引也是一张表,保存了主键与索引字段,并指向实体表的记录,所以索引列也是要占用磁盘空间的;

    虽然提高了查询速度,但是会降低更新速度,如 INSERT、UPDATE、DELETE 操作;

    4 哪些情况适合建索引

    • 主键自动建立唯一索引
    • 频繁作为查询条件的字段应该创建索引
    • 查询中与其它表关联的字段,外键关系建立索引
    • 查询中排序的字段,排序字段若通过索引去访问将大大提高排序速度
    • 查询中统计或者分组字段

    5 哪些情况不适合建索引

    • 频繁更新的字段
    • Where 条件中用不到的字段
    • 表记录太少
    • 经常增删改的表
    • 散列太小的字段,如性别、国籍

    ======下一篇======

    Mysql--执行计划 Explain

  • 相关阅读:
    php l练习(写着玩)
    位、字节、字
    ueditor上传图片时目录创建失败的问题解决方法
    tp5插入百度富文本编辑器UEditor
    PHP实现用户异地登录提醒功能的方法
    tp5知识点
    TP5语法
    微擎url
    微擎多图片上传
    微擎函数Iserializer和Iunserializer序列化函数
  • 原文地址:https://www.cnblogs.com/cyhbyw/p/8900523.html
Copyright © 2011-2022 走看看