
sql优化
文章平均质量分 69
web_gus
这个作者很懒,什么都没留下…
展开
-
oracle sql 优化相关
oracle net 单次获取结果集 默认10条 可修改array size,jdbc fetchsize 针对大统计 union all 等改为分析函数提升性能原创 2016-07-13 09:54:03 · 344 阅读 · 0 评论 -
oracle 优化器 执行计划
1、优化器种类 rule choose first_rows_n first_rows all_rows(10g后默认)2、访问表的方法:全表扫描(TABLE ACCESS FULL) rowid扫描(TABLE ACCESS BY USER ROWID|TABLE ACCESS BY INDEX ROWID)3、访问B树索引的方法 索引唯一性扫描 IND原创 2016-07-14 16:39:03 · 1129 阅读 · 0 评论 -
oracle cursor和绑定变量
1、SHARED CURSOR (位于SGA) PARENT CURSOR 只对应SQL文本(V$SQLAREA 不同SCHEMA下相同的SQL ,PARENT CURSOR也相同) CHILD CURSOR 对应 VERSION COUNT (V$SQL) 硬解析:至少需要生成 CHILD CURSOR 占用SHARED POOL LATCH LIBRAR原创 2016-07-19 16:28:31 · 1064 阅读 · 0 评论 -
oracle 统计信息
1、收集 ANALYZE DBMS_STATS ANALYZE 不能收集分区表信息 不能并行收集 DBMS_STATS 只能收集CBO相关统计信息 不能收集行迁移/行链接 不能校验表和索引的结构信息 2、历史统计信息 WRI$_OPTSTAT_TAB_HISTORY (TRUNCATE后会自动收集统计信息 生产环境上线后应及时收集统计信息避免CBO选择错误计划)原创 2016-08-16 09:16:28 · 690 阅读 · 0 评论 -
oracle hint 和 并行
--------HINT---------------------1、给优化器多出一种选择 种类: 单表 多表 子查询 整个SQL语句2、HINT 指定表名不能带上所在SCHEMA名 如果有别名应该使用别名3、HINT生效的范围仅限于本身所在的查询块(QUERY BLOCK) 如在查询块外则失效 除非指定查询块名称 full(@sel$1 t1) 或 full(原创 2016-08-18 10:49:14 · 4261 阅读 · 0 评论 -
oracle sql优化方法论
1、降低SQL资源消耗2、并行执行SQL3、平衡系统的资源消耗4、实例 符合索引避免NULL无法用索引 合适的索引避免排序 LIKE EMP% 可用函数索引REVERSE 5、数据库优化步骤 找到时间最长,资源消耗最多的TOP SQL 查看SQL执行计划合理性 进行修正原创 2016-08-18 16:55:56 · 593 阅读 · 0 评论 -
oracle 查询转换
1、子查询展开 SINGLE-ROW(=,,=, 不能做子查询展开的通常会在SQL执行计划最后一步才执行,一般是FILTER类型计划,效率很差 IN ,EXISTS, =ANY 可转换为半连接(SEMI JOIN) NOT IN, NOT EXISTS, 展开2条件:展开后语义完全等价,内嵌视图的子查询必须COST低于原SQL才展开2原创 2016-08-09 16:32:36 · 1136 阅读 · 0 评论