java编码格式大讲解
oracle 分页:
-- 第一种
select *
from (select aed.*, row_number() over(order by aed.created_date) rw
from alarm_event ae, alarm_event_detail aed
where ae.id = aed.id)
where rw between 10 and 15;
-- 第二种
select *
from (select t.*, rownum rw
from (select aed.*
from alarm_event ae, alarm_event_detail aed
where ae.id = aed.id
order by aed.created_date) t
where rownum < 16)
where rw >= 10;
with 关键字 (解决子句中多次引用相同的查询块,或者解决多层嵌套查询时)下面中也有使用分析函数解决分组问题。
with t1 as
(select ai.accountid,
lb.businesssum,
lb.customerid,
lb.businesstype,
lb.loanterm,
bp.bar_code_no,
count(lb.putoutno) over(partition by ai.accountid, lb.businesssum, lb.customerid, lb.businesstype, lb.loanterm, bp.bar_code_no) ct,
row_number() over(partition by ai.accountid, lb.businesssum, lb.customerid, lb.businesstype, lb.loanterm, bp.bar_code_no order by lb.customerid) rw
from cfss.loan_balance lb
left join cfss.account_info ai
on lb.putoutno = ai.objectid
and ai.accountserialno = ''
left join cfss.business_putout bp
on bp.serialno = lb.putoutserialno
where lb.putoutdate >= '2018/06/28'
and lb.businesstype = '1702-SB-01'),
t2 as
(select lb.customerid, lb.normalbalance, lb.overduebalance
from cfss.loan_balance lb, t1
where lb.customerid = t1.customerid
and t1.ct > 1
and rw = 1
and lb.businesstype = '1702-SB-01'), t3 as
(select ci.certtype,
ci.certid,
sum(normalbalance) + sum(overduebalance) as balance
from t2, cfss.customer_info ci
where t2.customerid = ci.customerid
group by ci.certtype, ci.certid)
select t3.*, bc.creditsum, bc.customerid
from cfss.business_credit bc, t3
where bc.certtype = t3.certtype
and bc.certid = t3.certid
and balance > bc.creditsum;
开始 搜集统计信息。(搜集完成统计信息,可以使执行计划更优)
begin
dbms_stats.gather_table_stats(ownname => 'CFSS',
TABNAME => 'BUSINESS_PUTOUT',
cascade => true);
end;
分析和开窗函数
使用绑定变量 VS 不使用绑定变量
https://blog.csdn.net/Alen_Liu_SZ/article/details/80527834
- SQL> set timing on
- SQL> create table t1(id int);
- Table created.
- Elapsed: 00:00:01.18
- SQL> begin
- 2 for i in 1 .. 100000
- 3 loop
- 4 execute immediate 'insert into t1 values('||i||')';
- 5 end loop;
- 6 commit;
- 7 end;
- 8 /
- PL/SQL procedure successfully completed.
- Elapsed: 00:01:34.06
- SQL> set linesize 200
- SQL> col sql_text for a40
- SQL> col sql_id for a15
- SQL> select sql_text,sql_id,executions,parse_calls from v$sql
- 2 where sql_text like 'insert into t1 values%'
- 3 and rownum <= 10;
- SQL_TEXT SQL_ID EXECUTIONS PARSE_CALLS
- ---------------------------------------- --------------- ---------- -----------
- insert into t1 values(99739) 4hwu069b7w058 1 1
- insert into t1 values(99795) c3wc2p1y440n6 1 1
- insert into t1 values(99600) ggxrmk462s138 1 1
- insert into t1 values(99610) 8m3jrkgshh1bj 1 1
- insert into t1 values(99857) a8wn2bw9cw1ck 1 1
- insert into t1 values(99809) 87uzu2cggw1hq 1 1
- insert into t1 values(99714) bddx0bx62n1qz 1 1
- insert into t1 values(99559) cbgyw5tudc1yq 1 1
- insert into t1 values(99745) 2xngw3w9b829n 1 1
- insert into t1 values(99826) 7s29ajyy3h2nh 1 1
- 10 rows selected.
- Elapsed: 00:00:00.01
- SQL> select count(*) from v$sql
- 2 where sql_text like 'insert into t1 values%';
- COUNT(*)
- ----------
- 461
- Elapsed: 00:00:00.15
- SQL>
- SQL> alter system flush shared_pool;
- System altered.
- Elapsed: 00:00:00.07
- SQL> alter system flush buffer_cache;
- System altered.
- Elapsed: 00:00:00.46
- SQL> begin
- 2 for i in 1 .. 100000
- 3 loop
- 4 execute immediate 'insert into t1 values (:X)' using i;
- 5 end loop;
- 6 commit;
- 7 end;
- 8 /
- PL/SQL procedure successfully completed.
- Elapsed: 00:00:12.06
- SQL> select sql_text,sql_id,executions,parse_calls from v$sql
- 2 where sql_text like 'insert into t1 values%';
- SQL_TEXT SQL_ID EXECUTIONS PARSE_CALLS
- ---------------------------------------- --------------- ---------- -----------
- insert into t1 values (:X) d1f3fv8rt9j8t 100000 1
- Elapsed: 00:00:00.11
java编码格式大讲解的更多相关文章
- 第二十四节:Java语言基础-讲解数组的综合应用
数组的综合应用 // 打印数组 public static void printArray(int[] arr) { for(int x=0;x<arr.length;x++) { if(x!= ...
- 1月中旬值得一读的10本技术新书(机器学习、Java、大数据等)!
1月中旬,阿里云云栖社区 联合 博文视点 为大家带来十本技术书籍(机器学习.Java.大数据等).以下为书籍详情,文末还有福利哦! 书籍名称:Oracle数据库问题解决方案和故障排除手册 内容简介 & ...
- java filechannel大文件的读写
java读取大文件 超大文件的几种方法 转自:http://wgslucky.blog.163.com/blog/static/97562532201332324639689/ java 读取一个 ...
- Java查询大文本
但JAVA本身缺少相应的类库,需要硬编码才能实现结构化文件计算,代码复杂且可读性差,难以实现高效的并行处理. 使用免费的集算器可以弥补这一不足.集算器封装了丰富的结构化文件读写和游标计算函数,书写简单 ...
- 【原创】用JAVA实现大文件上传及显示进度信息
用JAVA实现大文件上传及显示进度信息 ---解析HTTP MultiPart协议 (本文提供全部源码下载,请访问 https://github.com/grayprince/UploadBigFil ...
- 一句话了解JAVA与大数据之间的关系
大数据无疑是目前IT领域的最受关注的热词之一.几乎凡事都要挂上点大数据,否则就显得你OUT了.如果再找一个可以跟大数据并驾齐驱的IT热词,JAVA无疑是跟大数据并驾齐驱的一个词语.很多人在提到大数据的 ...
- java处理大文本方案
转载自:http://langgufu.iteye.com/blog/2107023 java处理大文件,一般用BufferedReader,BufferedInputStream这类带缓冲的Io类, ...
- 贝叶斯公式由浅入深大讲解—AI基础算法入门
1 贝叶斯方法 长久以来,人们对一件事情发生或不发生的概率,只有固定的0和1,即要么发生,要么不发生,从来不会去考虑某件事情发生的概率有多大,不发生的概率又是多大.而且概率虽然未知,但最起码是一个确定 ...
- java读大文件最快性能【转】
java读大文件最快性能 完全引用自: 几种读大文件方法的效率对比测试 据说1.88g只要5秒左右,未亲测. /** * 读大文件 * BufferedReader + char[] * @throw ...
随机推荐
- 这是一篇通过open live writer发布的博文
这两天零零总总的尝试了两三款写博客的软件,总感觉不怎么上手,最后还是使用博客园官方推荐的工具写博吧,简单方便,目前的功能基本都有,尤其是粘贴图片特别方便,回想之前的几篇博文,真是一种煎熬哈哈(对于我这 ...
- 20191225_Python构造函数知识以及相关注意事项
Python构造函数格式为__init__() 注:下划线为两个而不是一个 可以有无参构造 instance: class city: def printout(self,first,second): ...
- [转]Vue 2.0——渐进式前端解决方案
前言:框架是什么?为什么要有框架?在众多的框架之中,Vue 独具魅力之处在哪里呢?其背后的核心思想是什么?Vue 究竟火到什么程度?最近发布的 Vue2.0 又做了哪些改进呢?Vue 和 Weex 又 ...
- selenium的显示等待、隐式等待
转载:https://www.cnblogs.com/mabingxue/p/10293296.html Selenium显示等待和隐式等待的区别1.selenium的显示等待原理:显示等待,就是明确 ...
- JavaScript中的 typeof,null,和undefined
typeof操作符 null 在JavaScript中null表示“什么都没有”. null是一个只有一个值的特殊类型.表示一个空对象引用. typeof null; 返回的是object 可以将nu ...
- 关于我 & 关于这个博客
关于我 OIer,初一在读,蒟蒻,普及组选手,只拿过两次PJ2=,实乃菜也 喜欢数学,OI,OI 上主要研究高级数据结构(如平衡树)和一些不那么暴力的算法(如分块) 打不动 CF . 关于这个博客 是 ...
- Java“被迫”退出争霸,Python继续霸占首位!老牌程序员:我不服
2019年转眼已经接近尾声,如果盘点下2019年最火的语言,除了Python还能有谁?你心中的王者语言又是谁? 这一年Python风光无限 这一年JAVA走向右边 这一年,我们都很感慨,你呢? 关于P ...
- The Reason Why Cosmetic Airless Bottles Are Widely Used
The contents of the Cosmetic Airless Bottles can be isolated from the air, to prevent the product ...
- spring controller中默认转发、forward转发、redirect转发之间的区别
默认转发 @RequestMapping("/123") public String test(HttpSession session) { System.out.println( ...
- NAT ALG原理与应用
1 NAT ALG简介 普通NAT实现了对UDP或TCP报文头中的的IP地址及端口转换功能,但对应用层数据载荷中的字段无能为力,在许多应用层协议中,比如多媒体协议(H.323.SIP等).FTP.S ...