影响数据库性能的常见因素
1、影响数据库性能的常见因素:
-> 读写竞争
-> 事务竞争
-> 频繁的事务处理
2、数据库需要保证数据的准确与安全,提出来事务(transactio)的概念
->严格的定义:满足原子性、一致性、持久性和隔离性的操作成为事务。->隔离性会影响到数据的性能
如:需要读取id=100的数据的同时要修改id为90-100的数据,就会有隔离性限制
->由上面的例子提出隔离级别的概念
- 未提交读:读取到刚刚修改的数据,但是数据库还没有同步该数据(脏读),原理看Mysql的架构图,没同步时还在内存中
- 已提交读:等待
- 可重复读:等待
- 序列化读:等待
->因为多事务交叉,可能出现死锁:
记录一:
先读取结果
根据结果修改值
记录二:
修改某一些值
查询最后的结果
如果线程A锁住了记录1并等待记录2,而线程B锁住了记录2并等待记录1,这样两个线程就发生了死锁现象。此时执行程序中两个或多个线程发生永久堵塞(等待),每个线程都在等待被其他线程占用并堵塞了的资源。
3、数据库应用的分类:
联机事务处理(OLTP):增删改联机事务分析(OLAP):查
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。