学习笔记
文章平均质量分 78
lijingkuan
In restless dreams I walked alone
展开
-
深入解析Oracle学习笔记(第二章)
SCN由两部分组成,高位SCN Wrap由2Bytes记录,低位SCN Base由4Bytes记录。select dbms_flashback.get_system_change_number from dual;通常在事务提交或回滚时改变,并不是任何时候都会改变的。(1)数据文件头中包含该数据文件的checkpoint SCN (checkpoint 计数,scn,时间,sto原创 2015-08-05 15:56:32 · 727 阅读 · 0 评论 -
《高性能MySQL》第四章
由于innodb表索引的特殊性,减小主键大小,会使非主键大小也变的更小。整数类型tinyint smallint mediumint int bigint8 16 24 32 64取值范围-2power(2,n-1)-1 至 2 power(2,n-1)-1如果使用unsigned属性,则正数的上限提高一倍。存储的原创 2015-09-09 16:15:56 · 877 阅读 · 0 评论 -
《高性能MySQL》第二章
基准测试时针对系统设计的一种压力测试但不是真实的压力测试两张策略:针对系统的整体测试,针对mysql的单独测试测试指标: 吞吐量 响应时间或延迟 并发性 可扩展性 等2.3原创 2015-09-09 09:51:51 · 331 阅读 · 0 评论 -
《高性能MySQL》第一章
mysql最重要,最与众不同的是存储引擎架构。数据的处理和存储分离。根据性能,特性,需求等选取数据存储方式。mysql服务器逻辑架构:第一层:连接处理,授权认证等。第二层:所有跨存储引擎的功能,如查询解析,分析,优化,缓存,内置函数,存储过程,函数,触发器等。第三层:存储引擎层,负责数据的存储和提取。服务器通过API与存储引擎通信,屏蔽了不同存储引擎之间的差异,使得这些差异原创 2015-09-08 10:06:27 · 550 阅读 · 0 评论 -
高性能MySQL 第十章
备库也可以配置成另一台备库的主库1.基于语句的复制,也被称为逻辑复制2.基于行的复制,5.1版本才被加进来。异步复制,会有延迟。复制通常不会增加主库的开销,主要是启用二进制日志带来的开销。基于行的复制会比基于语句的复制带来更大的带宽压力。DNS轮询,即一个机器名指向多个IP地址。或者LVS。总的来说,复制有三个步骤:(三个线程,两原创 2015-09-12 16:04:14 · 445 阅读 · 0 评论 -
高性能MySQL第15章备份恢复
mysqldump -d 只备份表结构,不备份数据,所以很快。RPO:恢复点目标RTO:恢复时间目标需要恢复什么:整个服务器?单个库?单个表?单个操作语句?在生产实践中,对于大数据库,物理备份是必须的。逻辑备份太慢且受资源限制,从逻辑备份中恢复需要很长时间。基于快照的备份,如Percona XtraBackup和mysql enterpr原创 2015-11-25 14:26:36 · 341 阅读 · 0 评论 -
深入解析Oracle学习笔记(第九章)
等待事件 oracle7 开始引入v$event_name 记录当前数据库支持的等待事件及其基本信息desc v$event_namep1 p2 p3 不同等待事件参数其意义不同wait_class(等待事件分类)空闲等待 非空闲等待(调整数据库的时候需要研究的)v$system_wait_class 视图显示各类主要等待事件的等待时间和等原创 2015-08-20 20:01:07 · 1092 阅读 · 0 评论 -
深入解析Oracle学习笔记(第十章)
set autotrace on 执行计划,统计输出,查询输出set autotrace on explain / statistics / traceonlyselect * from plan_table;10g增强了,被良好格式化,并给出关于执行计划的简要注释一个操作系统进程可能对应多个sessionv$sql_plan 正在执行中,或者仍然缓存着的sql执行原创 2015-08-21 15:26:59 · 291 阅读 · 0 评论 -
深入解析Oracle学习笔记(第六章)
访问数据,首先确定数据是否在内存中,如果在,判断直接访问还是构造一致性读。如果不在,需要在buffer cache寻找足够的空间装载数据,如果空间不够,需要触发DBWR写出脏数据,释放buffer空间。如何确定需要的数据在buffer中?如果需要的数据不在buffer中,如何去buffer cache中快速寻找内存空间。通过几个链表进行内存管理,如LRU LIST, D原创 2015-08-13 10:30:06 · 469 阅读 · 0 评论 -
深入解析Oracle学习笔记(第七章)
redo 可恢复性,可重演。undo 可回退性redo entries(redo records)被数据库进程从用户的内存空间(PGA)复制到SGA中的redo log buffer中。redo log buffer也是循环使用的。no-force-at-commit 提交时不强制写。通过redo的连续的,顺序的写出,使得随机分散的数据块的写出推延,获得批量效应等性能提升。原创 2015-08-17 15:07:01 · 818 阅读 · 0 评论 -
深入解析Oracle学习笔记(第八章)
9i开始,AUM。事务开始时,首先要在回滚表空间获得一个事务槽,分配空间,然后创建前镜像,此后事务的修改才能进行,oracle必须以此来保证事务是可以回滚的。原创 2015-08-18 16:56:20 · 517 阅读 · 0 评论 -
深入解析Oracle学习笔记(第四章)
11g中查询跟踪文件的视图v$DIAG_INFO用户与方案(schema)是对应的oracle通过数据字典来管理和展现数据库信息,数据字典通常存储数据库的元数据,是数据库的数据库。数据字典,记录和管理对象信息和安全信息。数据库对象定义,空间分配和使用情况,字段缺省值,完整性约束,用户名称角色权限,审计信息,其他数据库信息。由四部分组成:内部RDB原创 2015-08-11 09:28:29 · 632 阅读 · 0 评论 -
深入解析Oracle学习笔记(第五章)
PGA 非共享内存 Server Process使用(排序,连接等操作也可能会用到) 排他访问,所以不需要latch保护通常来说,包含私有SQL区,session信息等。(在可变PGA中)一个私有SQL区在cursor打开时分配,当执行结束游标释放后关闭。设置了PAG_AGGREGRATE_TAR原创 2015-08-11 16:36:44 · 558 阅读 · 0 评论 -
深入解析Oracle学习笔记(第一章)
第一章 数据库的启动与关闭1.Oracle启动过程中,观察告警日志,先列出参数文件中费缺省参数,然后是后台进程启动过程,包含PID和OS ID两个信息,其中PID表示该进程在数据库内部的标识符编号,而OS ID则代表该进程在操作系统上的进程编号。注:9i没有OS ID,10g有,11g为每个进程增加了时间标记。为什么没有PID=1的进程?查看v$process视图v$proce原创 2015-08-04 14:15:34 · 1533 阅读 · 0 评论 -
深入解析Oracle学习笔记(第三章)
初始化参数分为3类: 推导参数 操作系统依赖参数 可变参数推导参数 举例:sessions = (1.1 * processes)+5操作系统依赖参数: 比如db_cache_size,受限于操作系统物理内存。可变参数: 静态参数,动态参数显示参数,隐含参数(以“_" 开头 )$ORACLE_HOME/sqlplus/admin/glog原创 2015-08-10 15:31:08 · 473 阅读 · 0 评论 -
《高性能MySQL》第五章
索引优化是对查询性能优化最有效的手段索引是在存储引擎层实现的,不同引擎索引的工作方式可能不同,不是所有存储引擎都支持所有类型的索引。没有统一的标准。B-TreeB+Tree,即每一个叶子节点都包含指向下一个叶子节点的指针,从而方便叶子节点的范围遍历。myisam使用前缀压缩技术使索引更小。innodb则按照原格式存储。myisam通过数据的物理位置进行索引,innodb根据主键原创 2015-09-10 16:46:26 · 419 阅读 · 0 评论