极客神殿

坚持,自由,信仰

oracle中distinct和group by的区别

其实二者没有什么可比性,但是对于不包含聚集函数的GROUP BY操作来说,和DISTINCT操作是等价的。不过虽然二者的结果是一样的,但是二者的执行计划并不相同。 在Oracle9i中: SQL> SELECT * FROM V$VERSION; BANNER ...

2018-12-30 16:06:34

阅读数:13

评论数:0

oracle之优化一用group by或exists优化distinct

今天mentor给了一个sql语句优化的任务。(环境是sql developer)有一个语句执行很慢,查询出来的结果有17544条记录,但需970秒,速度很慢。语句是这样的: SELECT DISTINCT 'AMEND_NEW', repo...

2018-12-30 15:58:59

阅读数:16

评论数:0

Oracle中left join中右表的限制条件

无过滤条件的LEFT JOIN SQL中最简单形式的LEFT JOIN,是直接根据关联字段,以左表为基准,对右表进行匹配。在SELECT语句中选取的字段,如果有右表的记录(一般都是需要右表的某些记录的),取出配对成功的右表记录中对应的这个字段的值;否则,直接置NULL。这本身就是LEFT JOI...

2018-12-30 15:38:30

阅读数:11

评论数:0

Ora-01536:超出了表空间users的空间限量

正在开会,同事跑过来说数据库有问题,通讯程序不能入库,赶快获取一条insert into a values()语句后在toad工具中手动插入,发现报错:Ora-01536:超出了表空间users的空间限量。 该表a的是用户A下的一个大表,表空是users,而非A用户的默认表空间。users表空间...

2018-12-30 15:16:37

阅读数:20

评论数:0

【Oracle】排序与sort_area_size

【Oracle】排序与sort_area_size 生产环境的一个查询语句在随着时间推移时查询速度越来越慢,终于到了我忍无可忍的地步,决定一探究竟。 Oracle版本:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64b...

2018-12-30 15:08:16

阅读数:8

评论数:0

Oracle优化的方法

想做到数据库优化的高手,不是花几周,几个月就能达到的,这并不是因为数据库优化有多高深,而是因为要做好优化一方面需要有非常好的技术功底,对操作系统、存储硬件网络、数据库原理等方面有比较扎实的基础知识,另一方面是需要花大量时间对特定的数据库不断的进行实践测试与总结。 针对数据库的优化,可以已Orac...

2018-12-30 15:00:27

阅读数:34

评论数:0

oracle优化技巧

一、编码习惯以及技巧 1、SELECT子句中避免使用 " * ": ORACLE在解析的过程中, 会将"*" 依次转换成所有的列名, 这个工作是通过查询数据字...

2018-12-30 13:58:08

阅读数:11

评论数:0

Oracle SQL性能优化的40条军规

SQL语句执行步骤 语法分析> 语义分析> 视图转换 >表达式转换> 选择优化器 &am...

2018-12-28 11:10:53

阅读数:20

评论数:0

Oracle的order by case when

order by CASE WHEN ref.IS_TOP=1 THEN 1 ELSE 0 END DESC 我用一个例子来解释这个问题,用到了Oracle自带的用户scott下的emp表 SQL> SELECT EMPNO, ENAME, D...

2018-12-11 17:53:35

阅读数:32

评论数:0

Oracle高水位线(HWM)及性能优化

说到HWM,我们首先要简要的谈谈ORACLE的逻辑存储管理.我们知道,ORACLE在逻辑存储上分4个粒度:表空间,段,区和块. (1)块:是粒度最小的存储单位,现在标准的块大小是8K,ORACLE每一次I/O操作也是按块来操作的,也就是说当ORACLE从数据文件读数据时,是读取多少个块,而不是多...

2018-11-24 00:55:38

阅读数:37

评论数:0

一、oracle 高水位线详解

一、什么是水线(High Water Mark)? 所有的oracle段(segments,在此,为了理解方便,建议把segment作为表的一个同义词) 都有一个在段内容纳数据的上限,我们把这个上限称为"high water mark"或HWM。...

2018-11-23 15:17:38

阅读数:25

评论数:0

Oracle中常见的Hint(一)

Oracle中的Hint可以用来调整SQL的执行计划,提高SQL执行效率。下面分类介绍Oracle数据库中常见的Hint。这里描述的是Oracle11gR2中的常见Hint,Oracle数据库中各个版本中的Hint都不尽相同,所以这里讲述的的Hint可能并不适用于Oracle早期的版本。 一、与优...

2018-11-23 15:04:39

阅读数:34

评论数:0

Oracle中Hint深入理解(原创)

Hint概述 基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担。但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比。 此时就需要DBA进行人为的干预,告诉优化器使用我们指定的存取路径或连接类型生成执行计划,从 而使语句高效的运行。例...

2018-11-23 14:22:38

阅读数:20

评论数:0

Oracle之Hint使用总结

导读: 一、关于hint 1、引入hint的原因; 2、不能过分依赖hint; 3、hint的弊端; 4、hint和注释的关系; 5、hint的功能。 二、hint的具体用法 1、hint的语法; 2、hint的作用域; 3、hint数据字典。 三、hint的分类 1、和优...

2018-11-23 14:09:20

阅读数:33

评论数:0

ORACLE的HINT详解

ORACLE的HINT详解 hints是oracle提供的一种机制,用来告诉优化器按照我们的告诉它的方式生成执行计划。我们可以用hints来实现: 使用的优化器的类型 基于代价的优化器的优化目标,是all_rows还是first_rows。 表的访问路径,是全表扫描...

2018-11-22 22:40:21

阅读数:20

评论数:0

Oracle批量插入数据insert all into用法

项目需要用到导入excel表,并解析数据批量插入到oracle数据库中。 1)直接解析excel,循环行,拼了sql,executeUpdate。 执行一波… 咦,这效率很低啊,有多少行数据就执行了多少句sql,基本是一万行已经接近一分钟了。 2)每次都仅执行一条sql语句,时间是不是都花...

2018-11-20 11:01:18

阅读数:52

评论数:0

oracle update left join查询

对于有的更新语句,要更新的表可能条件不够,需要用到left join关联其他表, 但是不能直接关联,否则报错:错误如下: update imim_gireqbillitems gi left join imim_gireqbills g on g.guid=gi.guid set gi....

2018-11-16 23:23:23

阅读数:33

评论数:0

Oracle\MS SQL Server Update多表关联更新

Oracle没有update from语法,可以通过两种实现方式: 1、利用子查询: update A SET 字段1=(select 字段表达式 from B WHERE …), 字段2=(select 字段表达式 from B...

2018-11-16 23:16:26

阅读数:36

评论数:0

ORACLE多表关联UPDATE语句

为了方便起见,建立了以下简单模型,和构造了部分测试数据: 在某个业务受理子系统BSS中, --客户资料表 create table customers ( customer_id number(8) not null, -- 客户标示 city_...

2018-11-16 22:50:51

阅读数:31

评论数:0

oracle的exit、return、continue

1.先看exit和return 将exit 或是 return 用在loop 。。。。end loop;中都可以中断循环,但是它们有一个很明显的不同 看下面两个例子: 例一: CREATE OR replace PACKAGE BODY cux_test IS PROCEDUR...

2018-11-16 22:31:12

阅读数:35

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭