Mysql 常用易混淆知识点总结

  • Innodb 与 Myisam 引擎的区别与应用场景
    • 两者区别
      • Innodb 支持事务,Myisam 不支持
      • Innodb 是行锁,Myisam 是表锁
      • Innodb 是聚簇索引,Myisam 是非聚簇索引
      • Innodb 可以使用外键索引,Myisam 不行
      • Myisam 可以使用全文索引,Mysql 5.6 以后 InnoDB 才能使用
      • Myisam 用一个变量保存了整个表的行数,Innodb 没有,当 select count(*) from table 时 Myisam 会佷快速因为只需要读一个变量,而 Innodb 需要全表扫描
    • 应用场景
      • 如果需要使用事务请使用 Innodb
      • 读操作比较多建议使用 Myisam ,大并发写比较多建议使用 Innodb

  • 什么是聚簇索引,什么是非聚簇索引

    • 聚簇索引

      • 一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序
      • 聚簇索引的叶节点就是数据节点
        这里写图片描述
    • 非聚簇索引

      • 一种索引,该索引中索引的逻辑顺序与磁盘上行的物理存储顺序不同
      • 非聚簇索引的叶节点仍然是索引节点,只不过有一个指针指向对应的数据块

    这里写图片描述


  • 组合索引和多个单列索引的区别
    • 组合索引是一种索引,且遵循最右原则;单列索引每一个都是索引,但查询中使用多个单列索引,系统也只会使用约束性最高的索引
    • 因为 Mysql 一次查询只能使用1个索引,所以要合理的使用组合索引,而不是单列索引
    • 因此 explain 来查询 sql 语句性能时,key 字段无论如何都只会存在一个被使用的索引
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值