oracle
xiaoluo5238
从现在开始
展开
-
Oracle in超过一千条处理方案
避免使用in,能不能使用join 联合查询,效率高点。如果真的需要使用in,那么基本思路就是select * from id in (1,2,3.....,1000) or id in (1,2,3....1000) or id in ()mybatis 写法:把 List<String>转成 List<List<String>>...原创 2020-06-19 17:47:22 · 699 阅读 · 0 评论 -
ORACLE SQL查询优化
1、优化解析时间语句缓存 SQL语句 -》共享池 -》高速缓存软解析:从共享池中 取出 以前的解析 过的语句硬解析:重新开始新的解析硬解析会消耗资源多很多,SQL可以复用还是要复用的。sql语句 -> hsah 值 当做key ,<key,sql>存入高速缓存中(Sql语句的大小写会影响KEY)使用绑定变量,sql还可以复用所以,sql查询两次的大小写不要变来变去,还有,使用绑定变量。select * from v$sql 可以查询出在高速缓存池的sq原创 2020-06-19 17:28:39 · 1408 阅读 · 0 评论 -
Oracle加解密_解决编码问题_解决中文截断问题
oracle中使用des进行加密,如果oracle编码UTF-8时,会出现编码错误。要进行转码。网上查找的代码都会出现 中文截断的现象,比如 "加密这个1",会把“1”漏了加密,这是因为使用了length()函数的原因,使用lengthb()则不会出现问题。优化空字节处理和解密空白字符处理编码方法如下:CREATE OR REPLACE function encrypt_des(p_text v...原创 2017-11-30 08:46:05 · 2649 阅读 · 0 评论 -
oracle SqlLdr数据导入简单记录
1、编写ctl文件 LHTEST:LOAD DATAINFILE '/usr/test/aaa.txt'BADFILE './LHTEST.BAD'DISCARDFILE './LHTEST.DSC'APPEND INTO TABLE LC.LHTESTFields terminated by ";"( ID, TIME "to_char(sysdate, 'yyyy-MM-d...原创 2018-04-07 11:53:25 · 240 阅读 · 0 评论 -
oracle创建表空间、创建用户
1、在linux系统中,创建表空间存放目录1)切换 oralcle用户 su - oracle2)进入目录/u01/app/oracle/oradata ,创建新目录 mydatacd /u01/app/oracle/oradatamkdir mydata2、用oracle sys用户建立用户-- 建立表空间-- 创建TBS_DATA表空间 发布时的大小需要修改 CREATE BIGFIL...原创 2018-05-08 11:13:57 · 413 阅读 · 0 评论 -
Oracle分页及带来的问题
Oracle无mysql的limit,其分页写法:SELECT * FROM ( SELECT TMP_PAGE.*, ROWNUM ROW_ID FROM ( select * from tb_Device WHERE status = 0 ) TMP_PAGE WHERE ROWNUM <= 30 ) WHERE ROW_ID > 20;会有这样的问题:当分页和排序同...原创 2018-06-27 08:56:47 · 794 阅读 · 0 评论 -
oracle 取分组的第一条数据
select c.* from(select row_number() over (partition by r.c_id order by similar desc) rn, r.* from tb_d_c_rs r) c where c.rn = 1partition by为分组依据,order by 是排序依据。原创 2018-06-28 17:31:13 · 2201 阅读 · 0 评论