oracle数据库性能
性能视图V$开头
V$SYSTEM_EVENT 正在等待的资源的系统信息
V$SESSION_EVENT 会话累计发生的等待事件
V$SESSION_WAIT 会话正在等待或者曾经等待的详细时间信息
V$SESSION 正在等待或者曾经等待的会话信息
V$METRICNAME 查看高速缓存命中率
Oracle数据库IO规划原则:
1 利用磁盘分段技术将IO分散在多个轴中进行
2 利用表空间直接隔离和定位各种类型的IO
3 将redo日志及其镜像放置在两个最不忙的设备上
4 将系统开销均匀地分摊到可用的磁盘驱动器上
5 将归档文件和redo日志文件放在不同的设备中
RAID 廉价(独立)磁盘冗余阵列
RAID-0 不具有冗余磁盘阵列
RAID-1 数据的全拷贝
RAID-0+1 结合了RAID-1 一对一的映射与 RAID-0的磁盘列
RAID-3 通过阵列中的单个磁盘上保存奇偶信息来提供冗余特性。
RAID-5 使用奇偶信息提供冗余特性,但分散保存
巨型数据库VLDB
程序全局去 program global area PGA
数据库中的并行:块-范围并行、基于分区的并行
在初始化时指定SGA或者其他的共享池的大小,实例一旦运行,就无法改变的。
oracle使用SGA:
1 对包含表和索引数据的数据块进行缓存,并放在数据库高速缓存中
2 对被解析和被优化的SQL语句,存储过程以及数据词典信息进行缓存,并放在共享内存池中
3 日志信息写入磁盘钱,缓存在日志缓冲器中
数据库高速缓存:
命中率:从缓存中请求到的数据块与从磁盘中请求到的数据块的百分比。(如果命中率低于90%,增加初始化DB_CACHE_SIZE可以提高性能)
共享内存池:
存储发送给数据库的SQL语句以及执行SQL语句所需的数据字典信息
redo日志缓存:
在一个事务提交后,或者当日志缓存被写满三分之一的时候。,日志缓存中的内容将被写入磁盘日志文件中。
查询结果缓存:
通过缓存数据块和索引避免磁盘读操作;
通过缓存SQL语句进行重复解析和优化的过程
Oracle使用PGA:
1 用于存储服务器进程临时变量等内容
2 存储正在执行的SQL信息的内存
3 作为SQL执行的一部分的排序记录所占用的内存
timesTen 内存数据库通过减少数据库获取操作的时延进而提供最佳性能
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
2012-12-29 2012年12月第五个周末