# MYSQL

  • 关系型数据库
  • 默认引擎 InnoDB, 通过 JDBC 连接
  • 支持事务,分布式事务,savepoint
  • undo,redo,binlog

# 数据库优化方式

  • 服务器硬件:cpu, 内存,磁盘 io, 网卡流量
  • 服务器操作系统配置
  • 存储引擎选择
  • 数据库自身配置参数
  • 数据库表结构的设计和 SQL 语句的执行效率 (慢查询,不合理的数据库表结构设计,不合理索引)
  • 数据库架构:高并发下读写分离,分库分表,多级缓存,搜索引擎

# 如何定位慢查询

  • 业务驱动
  • 测试驱动
  • 系统跟踪驱动 (Prometheus,SkyWalking)
  • 慢查询日志

# 索引

  • 一种数据结构,方便快速的查找数据,类似于书的目录
  • 底层数据结构为 B + 树 (多),hash 树
  • 类型分为,普通索引,唯一索引,fullText 索引,spatial 索引
  • 添加索引的方式
  • 索引的命名规范
  • 什么是索引下推,有什么作用 (减少回表次数)
  • 局部性原理与磁盘预读
  • 为什么使用自增数字作为组件索引 (依次往后写入,减少移动,减小开销)
  • 主键索引;辅助索引 (二级索引); 聚集索引 (聚簇索引); 非聚集索引 (非聚簇索引)
  • 什么是覆盖索引 (一种 sql 优化手段)
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

KagurazakaAsahi 微信支付

微信支付