当前位置 博文首页 > 小黄鸡的博客:mysql实战技巧(一)Innodb,MyIsam,聚集索引和非

    小黄鸡的博客:mysql实战技巧(一)Innodb,MyIsam,聚集索引和非

    作者:[db:作者] 时间:2021-08-15 19:33

    Innodb和Myisam是什么和区别

    Innodb和Myisam是两种类类型,在navicat中可以看到,也可以修改。
    在这里插入图片描述
    下面介绍一下他们的区别:

    区别InnodbMyisam
    事务安全非安全
    行级表级
    效率
    索引聚集索引非聚集索引
    外键支持不支持
    使用环境需要事务,大量增,改多查询,不需要事务

    ?
    ?
    ?
    ?

    聚集索引和非聚集索引

    如果想了解“聚集索引和非聚集索引”那么可以先看看B树和B+树
    下面说说他们的区别
    聚集索引:1.属于Innodb。
    ??????????????????2.按照主键B+树的排列方式存放,子节点存放的就是数据。(如果没有主键,以第一列为聚集索引)
    ??????????????????3.只有一个聚集索引。
    ??????????????????4.普通索引指向聚集索引。
    举个栗子:
    有一个人员表:主键为id,列为 name(索引),class,age。那么他们的存储方式为:
    数据为:

    idnameclassage
    1xiaohuang1-111
    2xiaohong2-112
    3xiaolv3-113

    聚集索引为
    在这里插入图片描述

    而也可能会有很多普通索引,普通索引的子节点指向聚集索引。例如当普通索引通过xiaohuang查到id为1后,再到聚集索引中继续查询到子节点,也就是说通过普通索引查询会调用两次索引。
    在这里插入图片描述

    非聚集索引:1.属于MyIsam。
    ??????????????????????2.普通索引和非聚集索引没什么区别。
    ??????????????????????3.存放的是地址。
    栗子:
    在这里插入图片描述

    cs