![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Oracle
文章平均质量分 56
ORACLE 调优以及常用的模板
大树的困惑
这个作者很懒,什么都没留下…
展开
-
SQL取日期为当前月份的第几周思路
问题背景获取每个月的第几周包含跨年问题当前有一份从20010101到20201231的数据,现在需要获得每个日期对应在每个月中的第几周,为了实现日历展示的那种格式展示对应日期所在的是该月份的第几周。**多种日期格式:**to_char(date,‘XXXX’)YYYY:四位表示的年份YYY,YY,Y:年份的最后三位、两位或一位,缺省为当前世纪IYYY:ISO标准的四位年份MM:01~12的月份编号MON:缩写字符集表示MONTH:全拼字符集表示的月份,右边用空格填补Q:季度W:当月原创 2021-04-06 19:08:53 · 10744 阅读 · 4 评论 -
拉链表的使用场景
拉链表的使用场景拉链表,在面对处理的数据量比较大的时候,可以经常听说到,其主要的核心在于通过设置两个字段作为数据是否有效性的开关(begin_date,end_date)这样做的目的是保证在表的数据,在某一个时间区间内(时间粒度得统一,月,日,时,分…)有且仅有一条有效的数据下面介绍一种使用场景背景 表t_vip_bal_info 用于记录某商户的vip用户的账户余额,当余额有变动时才会有数据且每天(时间粒度为天)最多仅有单条数据用户每当有新的余额变动时,旧的余额相对于当前就没用了,所原创 2021-04-01 10:56:52 · 2595 阅读 · 0 评论 -
Oracle 分析函数的汇总
Oracle 分析函数的汇总测试数据1.DENSE_RANK() over()2.ROW_NUMBER() over()3.rank() over()4.cume_dist() over()5.分组统计-sum() over()6.分组统计-max() over()7.分组统计-avg() over()8.分组统计-RATIO_TO_REPORT() over()9.LAG(COL,n,default) over()10.LEAD(COL,n,default) over()11.FIRST_VALUE()原创 2021-03-26 17:55:47 · 562 阅读 · 0 评论 -
Oracle 子查询优化思路
Oracle 子查询优化思路开头: 在Oracle中,支持字段级别的子查询,允许在字段嵌套查询sql,但是在面对数据量大的情况下,其效率会变的极低问题:通过判断统计日期和最开始交易的日期之间工作日天数需要通过这个天数的量级来选择不同的费率一开始使用字段的子查询获取结果SELECT col1,col2,col3 --150 day, (SELECT count(1) FROM T_PDATES where flag=0 and DAY<20原创 2021-03-25 17:25:11 · 2134 阅读 · 0 评论 -
Oracle merge into 基于大数据量的优化方向
Oracle merge into 基于大数据量的优化方向针对Oracle数据库的更新操作我们会使用update tableName set col1=col2 where condition...这样子的事务提交效率比较低下,所以大部分情况下需要批量更新的话我们会使用merge into 进行替换merge into target_tableName tusing ( select id , col1, col2 ... from source_tableName) aon (t.id=原创 2021-03-23 10:53:56 · 5229 阅读 · 2 评论 -
Oracle NULL值不参与运算判断
Oralce 中NULL 值不参与运算判断在数据分析中,设计到一些数值运算,如果其中某个值为空,会导致该数值被跳过(不是true,或者false)create table t_null_test as ( SELECT decode(round(dbms_random.value(1,2)),1,null,2) as col1 , 12 as col2 FROM dual connect by level <10)生成若干的测试数据进行测试;--取col1+col2 &g原创 2021-03-19 13:41:08 · 1316 阅读 · 0 评论 -
Oracle 用group by 去重计数还是用distinct 计数
Oracle 用group by 去重计数还是用distinct 计数Oracle 对去重计数的性能比较--Oracle 聚合优化--新建测试表 带索引drop table student;CREATE TABLE student ( t_id number, t_name VARCHAR2(32), t_class VARCHAR2(32), t_num number, CONSTRAINT PK_原创 2021-02-04 18:15:20 · 1539 阅读 · 1 评论