影响数据库性能的常见因素

1、影响数据库性能的常见因素:

-> 读写竞争

-> 事务竞争

-> 频繁的事务处理

2、数据库需要保证数据的准确与安全,提出来事务(transactio)的概念

->严格的定义:满足原子性、一致性、持久性和隔离性的操作成为事务。
->隔离性会影响到数据的性能
如:需要读取id=100的数据的同时要修改id为90-100的数据,就会有隔离性限制
->由上面的例子提出隔离级别的概念
  1. 未提交读:读取到刚刚修改的数据,但是数据库还没有同步该数据(脏读),原理看Mysql的架构图,没同步时还在内存中
  2. 已提交读:等待
  3. 可重复读:等待
  4. 序列化读:等待
->等待机制就是锁,主要的有共享锁和排他锁

->因为多事务交叉,可能出现死锁:

记录一:
先读取结果
根据结果修改值
记录二:
修改某一些值
查询最后的结果

如果线程A锁住了记录1并等待记录2,而线程B锁住了记录2并等待记录1,这样两个线程就发生了死锁现象。此时执行程序中两个或多个线程发生永久堵塞(等待),每个线程都在等待被其他线程占用并堵塞了的资源。

3、数据库应用的分类:

联机事务处理(OLTP):增删改
联机事务分析(OLAP):查

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。