mysql基础

mysql基础

知识点

索引

存储引擎

bin log/redo log/undo log

mysql架构

分库分表

水平分库分表

垂直分库分表

分区表

查询语句以及更新语句的执行过程

exists和in的区别

having和where的区别

什么是主从同步,为什么要做主从同步

乐观锁与悲观锁

processlist是什么?

MySQL的索引是怎么实现的?答案是B+树

事务

MySQL有哪几种锁?

  • 表级锁
  • 行级锁
  • 页面锁

日常工作中是如何优化SQL的?

  • 建索引,加快查询,空间换时间
  • 分库分表
  • 避免返回不必要的数据,比如select * 改为select需要的字段
  • 主从架构,提升读性能
  • 适当分批进行查询
  • 数据库中的字段设计的时候可尽可能占用空间少
  • 尽量把字段设置为NOT NULL
  • 使用UNION来代替手动创建的临时表
  • 避免函数索引
  • 用IN来代替OR
  • 用LIKE双%的时候无法使用到索引。

参考