sql学习

sql优化办法
  • 优化sql结构,去除冗余字段
  • 优化索引结构,适当添加索引
  • 分库分表
  • 数据库读写分离额,主从分离
  • explain分析sql并优化
mysql性能分析命令
  • show status 监控变量
  • show profiles 分析sql执行时资源消耗情况
悲观锁、乐观锁
  • 悲观锁 认为数据更新频繁,当前事务进行时,禁止其它事务操作(for update)
  • 乐观锁 任务数据更新不频繁,允许多个事务操作数据
数据库的隔离级别
  • 读未提交
  • 读已提交
  • 可重复读(MySql)
  • 串行化
事务的隔离级别

脏读、幻读、可重复读

InnoDB索引策略
  • 覆盖索引
  • 最左前缀原则
  • 索引下推
Blob,Text
  • Blob 二进制字符串
  • Text 非二进制字符串,存储大字符串
锁 按粒度划分
  • 表锁,开销小,加锁快
  • 页锁
  • 行锁,开销大,加锁慢
Mysql 左连接,右连接,内连接
  • Inner join 内连接,在两张表进行连接查询时,只保留两张表中完全匹配的结果集
  • left join 在两张表进行连接查询时,会返回左表所有的行,即使在右表中没有匹配的记录。
  • right join 在两张表进行连接查询时,会返回右表所有的行,即使在左表中没有匹配的记录。
范式
  • 1NF:数据表中的每一列(每个字段)都不可以再拆分。
  • 2NF:在第一范式的基础上,分主键列完全依赖于主键,而不能是依赖于主键的一部分。
  • 3NF:在满足第二范式的基础上,表中的非主键只依赖于主键,而不依赖于其他非主键。
索引优缺点

优点

  • 唯一索引可以保证行数据的唯一性
  • 加速查询
    缺点
  • 索引维护需要时间
  • 占用空间
  • CUD索引也要更新
事务的特点及实现方法

A原子性 undo log
C持久性 redo log
I隔离性 锁
D一致性 回滚,恢复

posted @ 2022-03-09 21:29  流光之中  阅读(35)  评论(0)    收藏  举报