数据库原理
lbq1615
记录成长 记录学习 分享收获 共同进步
展开
-
数据库原理笔记4
事务管理器 一个ACID事务是一个工作单元 它要保证4个属性 原子性(Atomicity):事务『要么全部完成,要么全部取消』,即使它持续运行10个小时。如果事务崩溃,状态回到事务之前(事务回滚)。 隔离性(Isolation): 如果2个事务 A 和 B 同时运行,事务 A 和 B 最终的结果是相同的,不管 A 是结束于 B 之前/之后/运行期间。 持久性(Durability): 一旦事务提...原创 2020-03-20 00:13:49 · 143 阅读 · 0 评论 -
数据库原理读书笔记三
缓存管理器 数据库的主要瓶颈是磁盘 I/O。为了提高性能,现代数据库使用缓存管理器。 查询执行器不会直接从文件系统拿数据,而是向缓存管理器要。缓存管理器有一个内存缓存区,叫做缓冲池,从内存读取数据显著地提升数据库性能。对此很难给出一个数量级,因为这取决于你需要的是哪种操作: 顺序访问(比如:全扫描) vs 随机访问(比如:按照row id访问) 读还是写 但是这导致了另一个问题 缓存管理器需要...原创 2020-03-18 00:32:37 · 321 阅读 · 0 评论 -
数据库原理读书笔记二
统计 在进行大数据查询时 必要的统计是必须的 比如关联查询A和B 其中A的有1000个不同的值 B有1000000个不同的值 优化器 所有现代数据库都在用基于成本的优化来优化查查询 对于一个简单的联结查询 优化器是如何做的 对于联结操作 通常会专注它们的时间复杂度 但是数据库优化器计算的是他们的 CPU成本,磁盘I/O成本,和内存需求 大多数时候瓶颈在于磁盘 I/O 而不是 CPU 使用 在用联结...原创 2020-03-16 22:04:59 · 211 阅读 · 0 评论 -
数据库原理读书笔记一
从时间复杂度说起 对于一些普通运算时间复杂度显得不是那么重要 但是对于应对大量的数据 或者要争取毫秒级操作 那么理解这个概念就很关键了 举例: 假设要处理2000条数据 O(1) 算法会消耗一次运算 O(log(n)) 算法会消耗7次运算 O(n*log(n)) 算法会消耗 14,000 次运算 O(n^2) 算法会消耗 4,000,000 次运算 hash表的时间复杂度O(1...原创 2020-03-13 00:46:59 · 295 阅读 · 0 评论