• MySQL索引简介


    对于开发人员来说,Mysql当中最重要的两部分,一个是索引,一个是事务。这两个是开发人员的必备技能。

    1.索引有什么作用?

    拿生活中的例子来说明一下,我们都用过新华字典,字典可以按拼音查找,也可以按笔划来查找,我们暂时把它叫做拼音索引和笔划索引。但是如果没有这两个“索引”,你可能在查找某个字的时候两三天都找不出来,有了这两个索引,你就能在短短几分钟找出来。这样你就能理解索引具体有什么作用了吧。

    作用:提高查询效率当然除了提高查询效率还可以提高排序和分组效率。

    2.索引的定义?

    官方定义:索引是帮助MYSQL高效获取数据的数据结构
    简单理解:索引是排好序的快速查找的数据结构
     
     
    3.索引的结构
    Mysql索引主要有两种结构:B+Tree索引和Hash索引,B+Tree是mysql使用最频繁的一个索引数据结构,Hash索引几乎不用。
    (1) Hash索引
    优点:速度快。hash的理论查询时间复杂度为O(1),即1次
    缺点:
    • hash冲突(采用拉链算法)
    • 无法进行范围查询。例如:where id > 4 and id < 100,此时索引失效(如果是btree索引,则索引不失效)
    • 无法利用前缀索引。例如:前辍索引 hello,hash("hello") 与 hash("helloworld")都是随机的
    • 排序也无法优化
    (2)B+Tree索引
    优点:速度快、支持范围查询
    缺点:索引的构建过程比较复杂。
     
     
    4.索引的类型
    • 主键索引,也是聚簇索引
    • 普通索引,也叫二级索引/次级索引
    • 组合索引
     
  • 相关阅读:
    Hql语句注意事项总结
    数据库主键设计之思考
    UTF8的中文问题
    DirectShow SDK笔记【关于DirectShow(4)】
    关于kindeditor上传图片出现"服务器发生故障"的解决办法
    php 分隔字符串为数组
    yum 一次性安装 apache mysql php
    linux下安装gd库
    三种实现PHP伪静态页面的方法
    (转)Linux利器 strace
  • 原文地址:https://www.cnblogs.com/caoxb/p/15525722.html
Copyright © 2020-2023  润新知