数据库知识梳理

数据库知识梳理

1.数据库语句执行过程


 - 客户端
 - 连接器 -> 管理连接,权限验证
 - 查询缓存 -> 命中缓存,直接返回
 - 分析器->词法和语法分析
 - 优化器 -> 生成执行计划,索引选择
 - 执行器 -> 操作引擎,返回结果

2.数据库引擎


 - InnoDB
		优点: 支持事务,外键,行锁.
		缺点: 不保存行数,查询时需要扫描全部
 - MyISAM
	优点: 支持全文搜索,频繁查询.性能快速,表锁
	缺点: 不支持事务,外键等等,读写互斥,,当有大量更新时,查询可能被阻塞
 - ISAM
 - HEAP

3.数据库索引


原理:
	使用B树 或者 B+树, 后者更加适合.
	
	
优点:
	提高查询速度.
缺点:
	占用额外的物理空间,后期维护难,插入数据时,需要同步维护索引


 - 主键索引(primary key)
 - 唯一索引(unique key)
 - 外键索引(foreign key)
 - 检查索引(check key)

4.数据库语言分类


 - DQL (数据库查询语言)
		select
 - DML (数据库管理语言)
 		insert
 		update
 		delete
 - DDL (数据定义语言)
		create
 - DCL (数据库控制语言)
		grant

5.存储过程

优点:
	一次创建,多次使用,调用简单,可供外部程序使用.
	在运行之前,语法和词法分析已经完成,优化了执行顺序,已经编译好的SQL语句,可以极大提高执行速度.
	可以降低网络通信量

缺点:
	移植性差

触发器是一种特殊的存储过程, 主要通过事件触发来执行.

6.事务

事务的四大特性ACID

A.原子性
	要不全部执行,要么失败,全部回滚.

C.一致性
	保证数据执行前后的一致性.

I.隔离性
	多个用户并发访问同一个表,数据库为每一个用户开启的事务都不能被其他用户事务干扰.
	多个并发事务,要相互隔离.

D.持久性
	事务一旦提交,对数据的改变是永久性的.


隔离级别:
		1. Serializable (串行化):可避免脏读、不可重复读、幻读的发生。

  2. Repeatable read (可重复读):可避免脏读、不可重复读的发生。

  3. Read committed (读已提交):可避免脏读的发生。

  4. Read uncommitted (读未提交):最低级别,任何情况都无法保证。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值