Oracle面试精华:去重技巧与性能调优关键
需积分: 9 89 浏览量
更新于2024-07-16
收藏 599KB PDF 举报
Oracle经典面试总结涵盖了多个关键知识点,包括数据库优化技术、SQL性能分析以及特定功能的理解。
1. **CBO(Cost-Based Optimizer)与RBO(Rule-Based Optimizer)**:
在Oracle数据库中,当optimizer_mode设置为`choose`时,CBO和RBO的选择取决于是否存在表的统计信息。CBO(成本优化器)采用基于成本的策略,它通过计算各种执行计划的成本(如I/O操作、CPU使用等),以选择最低成本的方案。相反,RBO依赖于预定义的规则,通过15个级别的评估来决定执行路径,选择最简单的方案。
2. **定位消耗资源的SQL查询**:
为了找出执行效率低下的SQL,可以使用以下查询语句:检查`v$sql`视图,筛选出disk_reads超过1000次或执行次数大于0且buffer_gets除以executions大于30000的SQL。这有助于识别可能引起性能瓶颈的查询。
3. **SQL追踪和会话管理**:
使用`dbms_system.set_sql_trace_in_session`函数可以在指定会话中启用SQL追踪,并通过`v$session`和`v$mystat`视图获取会话ID和序列号。设置事件`event_10046`和级别`level_12`可用于收集更详细的追踪信息。
4. **绑定变量**:
绑定变量是相对于文本变量而言的,它可以减少SQL解析的负担,降低CPU争用,节省共享池资源。但其缺点在于无法利用基于统计信息的histogram,可能导致SQL优化困难。
5. **内存管理与排序**:
- 在Oracle 8i中,`sort_area_size`和`sort_area_retained_size`参数控制排序所需的内存。如果排序超出这个范围,会使用临时表空间存储。
- Oracle 9i引入了新的内存管理策略,当`workarea_size_policy`设为`auto`时,排序活动会在PGA(进程全局区)内进行,一般建议分配PGA_aggregate_target的1/20作为disksort空间。
这些知识点在Oracle面试中是常见的考察点,掌握它们对于理解数据库性能调优、问题诊断和优化至关重要。求职者在准备Oracle面试时,不仅要熟悉基础概念,还要能结合实际场景灵活应用。
2018-12-28 上传
674 浏览量
912 浏览量
402 浏览量
308 浏览量
这一秒不放弃
- 粉丝: 8
- 资源: 1
最新资源
- hearthstone_battlegrounds_simulator
- resilient-microservices-dotnet-polly:此仓库包含有关Code Maze的“使用Polly在.NET中创建弹性微服务”文章的源代码。
- my-java-explore:对jdk的一些探索
- AWS Console Shape Shifter-crx插件
- HesaiLidar_General_ROS:PandarXT PandarQT Pandar64 Pandar40P Pandar40M Pandar20A Pandar20B的ROS驱动程序
- homework1_:第一次作业
- 图形包装器:包装器改进了Matlab图形组件。-matlab开发
- 蓝色科技商务下载PPT模板
- pb untag-crx插件
- 音乐生活娱乐网站模板是一款html5模板,适合娱乐休闲类网站模板下载。.zip
- Sensente.github.io
- spg框架
- 绚丽的夜空流星雨动画下载PPT模板
- 零基础学keil5安装教程(超详细) keil5mdk安装步骡
- valet-dashboard
- 团队项目2