云海的博客
首页
  • 接口
  • 数组
  • slice
  • map
  • 指针
  • 反射
  • Context
  • sync.map
  • 锁
  • 类型和类型指针分析
  • recover
  • 从零实现RPC框架
  • make和new区别
  • channel
  • sync.Once
  • sync.Pool
  • protobuf
  • MongoDB pkg源码-findone
  • MyBatis
  • Maven
  • 解析Laravel框架—路由处理
  • PHP(客户端)与 Golang(服务端)使用grpc+protobuf 通信
  • JAVA(客户端)与 Golang(服务端) 使用grpc+protobuf通信
  • Docker使用笔记-常用命令
  • Docker使用笔记-容器间通讯
  • Docker使用笔记-搭建Redis集群
  • Docker使用笔记-镜像多阶段构建
  • Kubernetes部署golang服务
  • Linux常用命令
  • Docker安装Prometheus与Grafana
  • Protobuf
  • TCP抓包
  • 概述-《TCP/IP详解》读书笔记
  • 索引
  • 事务隔离级别
  • 常识
  • 每日一题(1)
  • 每日一题(2)
  • 每日一题(3)
  • 每日一题(4)
关于
GitHub (opens new window)

云海

服务端研发
首页
  • 接口
  • 数组
  • slice
  • map
  • 指针
  • 反射
  • Context
  • sync.map
  • 锁
  • 类型和类型指针分析
  • recover
  • 从零实现RPC框架
  • make和new区别
  • channel
  • sync.Once
  • sync.Pool
  • protobuf
  • MongoDB pkg源码-findone
  • MyBatis
  • Maven
  • 解析Laravel框架—路由处理
  • PHP(客户端)与 Golang(服务端)使用grpc+protobuf 通信
  • JAVA(客户端)与 Golang(服务端) 使用grpc+protobuf通信
  • Docker使用笔记-常用命令
  • Docker使用笔记-容器间通讯
  • Docker使用笔记-搭建Redis集群
  • Docker使用笔记-镜像多阶段构建
  • Kubernetes部署golang服务
  • Linux常用命令
  • Docker安装Prometheus与Grafana
  • Protobuf
  • TCP抓包
  • 概述-《TCP/IP详解》读书笔记
  • 索引
  • 事务隔离级别
  • 常识
  • 每日一题(1)
  • 每日一题(2)
  • 每日一题(3)
  • 每日一题(4)
关于
GitHub (opens new window)
  • 索引
  • 事务隔离级别
  • 性能优化
  • 一问一答
    • MySQL
    云海
    2020-11-10
    目录

    一问一答

    # 1.MySQL常见的数据库引擎?

    MyISAM和InnoDB

    # 2.MyISAM和InnoDB的区别?

    # MyISAM

    不支持事务,但是每次查询都是原子的;

    支持表级锁,即每次操作是对整个表加锁;

    存储表的总行数;

    一个MYISAM表有三个文件:索引文件、表结构文件、数据文件;

    采用非聚集索引,索引文件的数据域存储指向数据文件的指针。辅索引与主索引基本一致,但是辅索引不用保证唯一性。

    # InnoDB

    支持ACID的事务,支持事务的四种隔离级别;

    支持行级锁及外键约束:因此可以支持写并发;

    不存储总行数;

    一个InnoDb引擎存储在一个文件空间(共享表空间,表大小不受操作系统控制,一个表可能分布在多个文件里)

    也有可能为多个(设置为独立表空,表大小受操作系统文件大小限制,一般为2G),受操作系统文件大小的限制;

    主键索引采用聚集索引(索引的数据域存储数据文件本身),辅索引的数据域存储主键的值;

    因此从辅索引查找数据,需要先通过辅索引找到主键值,再访问辅索引;

    最好使用自增主键,防止插入数据时,为维持B+树结构,文件的大调整。

    # 3.MyISAM和InnoDB的使用场景?

    MyISAM:如果执行大量的SELECT,MyISAM是更好的选择

    InnoDB:如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表

    # 4.MySQL事务。

    # 5.InnoDB支持几种事务隔离级别,之间的区别?

    # 6.MySQL有几种索引,使用场景分别是什么?

    # 7.某个拉取数据操作,返回数据时间过长。如何对问题进行排查。

    # 8.最左原则?

    # 9.right join 和 left join 和inner join区别?

    # 10.如何设计表结构。

    上次更新: 2023/01/11
    性能优化

    ← 性能优化

    最近更新
    01
    函数
    04-11
    02
    面试题
    04-11
    03
    EFK日志收集系统单机版
    08-18
    更多文章>
    Theme by Vdoing | Copyright © 2022-2025 Evan Xu | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式