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一致性 回滚,恢复

浙公网安备 33010602011771号