![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Oracle
supermancoke
合肥架构师一名
展开
-
Oracle服务器优化配置--OLTP和大数据量导入场景
AIO开启Oracle AIO选项,采用异步磁盘IO 检查Oracle是否支持AIO,有输出代表已经启用/usr/bin/ldd $ORACLE_HOME/bin/oracle | grep libaio 检查系统异步I/O是否在使用,如果结果中kiocp对应的前两项为0,说明系统中没有使用异步iocat /proc/slabinfo | grep kio 在Oracle中检查--检查Oracle异原创 2017-04-10 09:54:28 · 853 阅读 · 0 评论 -
Oracle11高性能开发--(1)表概念
近期做了一个Oracle大批量数据导入、处理、查询的项目,看了不少官方文档和书籍。把相关技术知识点简单整理一下,作为一个专题以供留存。推荐书籍 《Oracle性能诊断艺术》 《Oracle高效设计》 Oracle官方文档 表分类堆表Ordinary (heap-organized) table默认表类型,索引和数据分开存储索引组织表Index-organized table 含义:主键索引采用Btr原创 2017-04-10 09:57:22 · 893 阅读 · 0 评论 -
Oracle11高性能开发--(2)索引
推荐书籍 《Oracle性能诊断艺术》 《Oracle高效设计》 Oracle官方文档 索引索引数据结构分类 B树索引 创建方式:create index name on table(field) 特点: 采用树结构存储,优化= > <等性能 一个查询中只能使用一个B树索引(Oracle可设置更改) 位图索引 创建方式:create bitmap index name on table(fiel原创 2017-04-10 09:58:23 · 325 阅读 · 0 评论 -
Oracle11高性能开发--(3)批量处理语句总结
批量新增数据INSERT INTO db1_name (field1,field2) SELECT field1,field2 FROM db2_name批量更新数据Update (select * from a,b where a.id=b.id)set a.name = b.name如果是对a表字段更新,要求select中对b表的过滤字段必须有唯一约束批量更新或插入数据MERGE INTO pr原创 2017-04-10 09:59:08 · 408 阅读 · 0 评论 -
Oracle11高性能开发--(4)CBO和解释计划
CBORBORule-Based Optimization 基于规则的优化器, 根据数据库结构(表结构、索引等进行自动优化)。 Oracle10起弃用。CBOCost-Based Optimization 基于代价的优化器, 根据数据库统计信息(系统性能信息、数据信息)进行代价估算,自动选择优化方案。 Oracle8引入,Oracle10替代RBO。CBO系统性能统计 无负载时统计负载下系统原创 2017-04-10 10:00:52 · 841 阅读 · 0 评论 -
Oracle11高性能开发--(5)SQL调优
单表访问路径全表扫描 Hints:FULL Operation和Options:TABLE ACCESS FULL 适用场景:需要对表的大部分数据进行处理 优化目标:减少访问数据量(分区)、变为索引扫描(使用索引字段) 示例: select * from c_fraud_detail tRowid访问 Operation和Options:TABLE ACCESS BY USER ROWID 适用场原创 2017-04-10 10:01:57 · 404 阅读 · 0 评论 -
Oracle11高性能开发--(6)高效数据插入与并行操作
高效数据插入 直接路径插入,使用以下Hints Append:用于insert into select语句 Append_VALUES :用于insert into 语句 设置表、索引或表空间为NOLOGGING,NOLOGGING在以下情况下不写重做日志 直接路径 INSERT SQL*Loader CREATE TABLE … AS SELECT CREATE INDEX ALTER IND原创 2017-04-10 10:02:48 · 4375 阅读 · 0 评论