SQL优化
文章平均质量分 59
riven2011
在一切变得简单之前,唯一答案就是努力去做
展开
-
用hash分发模式解决并行优化器bug
oracle并行场景的broadcast与hash分发模式转换原创 2022-09-12 00:32:01 · 403 阅读 · 1 评论 -
push_pred/no_push_pred无效探究
背景在项目遇到一个谓词推入引起性能问题,使用no_push_pred Hint不能阻止其谓词推入,对此进行一个探究。由于涉及保密,不能直接上原代码,原场景是谓词推入了一个视图,这个视图是一个在另一个视图的基础上建立,这是不是导致no_push_pred无效的根本原因呢,先在官方文档查看了是否有关于谓词推入的限制,很遗憾并没有找到,我们直接实验归纳下这种特殊情况。谓词推入(Predicate Pushing)官方文档是这样描述的:In predicate pushing, the optimi原创 2021-09-27 23:00:15 · 1184 阅读 · 1 评论 -
like‘%xxxxx%‘性能优化
前言:like使用方式一共三种格式like ‘xxxx%’——这种能正常使用索引like ‘%xxxx’——利用reverse函数索引优化like’%xxxx%’——使用客制化函数instr和通用手段两种方法一、构建实验条件1.创建测试表(大概90M)create table test1 asselect level id, dbms_random.string('X', 30) name, dbms_random.string('f', 30) address,原创 2021-09-23 23:49:11 · 699 阅读 · 1 评论 -
利用reverse函数索引优化like ‘%xxxx‘
前言:我们都知道在使用Like模糊查询,只有使用like 'xxxx%'格式才能正确利用索引范围扫描,那么实际中遇到按字符串末尾模糊查询(%xxxx)该如何优化?一、构建实验例子1.创建测试表(大概90M)create table test1 asselect level id, dbms_random.string('X', 30) name, dbms_random.string('f', 30) address, dbms_random.string原创 2021-09-23 23:39:27 · 392 阅读 · 1 评论 -
oracle组合索引原理
数据库版本:oracle11g 11.2.0.1.0概要:oracle优化器在统计信息和直方图准确的情况下,对组合索引并不算智能,意味着很可能因为组合索引原因导致执行计划不准测试脚本准备1.创建一张普通表和组合索引create table test as select decode(mod(level,4), 1, 'A',2,'B',3,'C','D') type, decode(mod(level,8), 1, 'VALID',2, 'INVALID','x') status原创 2021-09-23 01:28:52 · 651 阅读 · 0 评论 -
oracle shrink 表收缩功能
表收缩作用:降低表的高水位线,回收表的实际存储空间注意:shrink操作会产生redo 日志实验:1.创建测试数据:CREATE TABLE test_s ASSELECT MOD(LEVEL,5) col1,dbms_random.string('A',20) col2FROM dualCONNECT BY LEVEL<=100000;2.分析表ANALYZE T...原创 2020-04-15 18:39:58 · 648 阅读 · 0 评论 -
regexp_substr之表的行转列
最近一个证券朋友问我一个insert性能问题,一张表记录所有用户的用户编码和股票编码,但是这个股票编码用逗号拼接,他想把每个用户的每一个股票单独插入一张表里,用了循环游标的方法,一条条的拆分插入,耗时较久问有没优化空间。其实这个性能问题核心点在于,每一条数据都要进行commit,需要转行批量提交。所以我直接告诉他,将游标批量放到集合,再操作集合提交,确实效率提高了很多,那么有没有更简单更高效的方...原创 2020-03-12 21:19:56 · 443 阅读 · 0 评论 -
ORACLE直方图
直方图相关概念百度百科定义:直方图(Histogram),又称质量分布图,是一种统计报告图,由一系列高度不等的纵向条纹或线段表示数据分布的情况。 一般用横轴表示数据类型,纵轴表示分布情况。oracle直方图作用:在Oracle中直方图存储不同分类数据的出现频率。前文中提到分析表的作用是给CBO提供基本的信息并认为每个值出现频率相同,直方图会准确告诉CBO每个唯一值出现的频率,这个很重要。--...原创 2019-10-24 20:42:51 · 551 阅读 · 0 评论 -
ORACLE表分析原理
表分析表分析的作用测试功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入表分析的作用简单的说,就是收集表和索引的信息,...原创 2019-10-15 14:37:22 · 1332 阅读 · 0 评论