Oracle
文章平均质量分 59
azhegps
技术源于不断滴追求!
展开
-
多表连接的三种方式详解 HASH JOIN MERGE JOIN NESTED LOOP【3】
SQL server 内部实现了三种类型的内连接运算,大多数人从来没有听说过这些连接类型,因为它们不是逻辑连接也很少被用于代码中。那么它们什么时候会被用到呢?答案是要依情况而定。这就意味着要依赖于记录集和索引。查询优化器总是智能的选择最优的物理连接类型。我们知道SQL优化器创建一个计划开销是基于查询开销的,并依据此来选择最佳连接类型。 那查询优化器究竟是怎样从内部选择连接类型转载 2016-12-12 16:49:47 · 875 阅读 · 0 评论 -
多表连接的三种方式详解 HASH JOIN MERGE JOIN NESTED LOOP【1】
在多表联合查询的时候,如果我们查看它的执行计划,就会发现里面有多表之间的连接方式。 之前打算在sqlplus中用执行计划的,但是格式看起来有点乱,就用Toad 做了3个截图。 从3张图里我们看到了几点信息:1. CBO 使用的ALL_ROWS模式Oracle Optimizer CBO RBOhttp://转载 2016-12-12 16:43:43 · 728 阅读 · 0 评论 -
多表连接的三种方式详解 HASH JOIN MERGE JOIN NESTED LOOP【2】
1 nested loop join循环嵌套连接:行源1的每一条记录,依次去匹配行源2的每条记录,将符合连接条件的记录放在结果集中,直到行源1的所有记录都完成这个操作。循环嵌套连接是最基本也是最古老的表连接方式。2 sort merge join排序合并连接:行源1和行源2的数据分别排序,然后将两个排序的源表合并,符合连接条件的记录放到结果集中。由于排序需要内存空间,sort me转载 2016-12-12 16:45:46 · 1897 阅读 · 0 评论 -
Oracle 优化器RBO与CBO介绍总结
RBO和CBO的基本概念 Oracle数据库中的优化器又叫查询优化器(Query Optimizer)。它是SQL分析和执行的优化工具,它负责生成、制定SQL的执行计划。Oracle的优化器有两种,基于规则的优化器(RBO)与基于代价的优化器(CBO) RBO: Rule-Based Optimization 基于规则的优化器 CBO: Cost-B...转载 2016-12-12 16:33:01 · 561 阅读 · 0 评论 -
Oracle 删除同一张表中重复数据
一、部分字段重复数据的删除CREATE TABLE 临时表 AS (select 字段1,字段2,count(*) from 表名 group by 字段1,字段2 having count(*) > 1)delete from 表名 a where 字段1,字段2 in (select 字段1,字段2 from 临时表);二、部分字段重复数据留一条 在oracl...原创 2016-06-11 22:31:31 · 3219 阅读 · 0 评论 -
Oracle 精妙SQL语句讲解
一、重复操作查询--where条件得distinct systemdicid作为唯一标识select * from dmis_zd_systemdic t WHERE typeid = '06012' and t.systemdicid in (select min(systemdicid) from dmis_zd_syste...转载 2016-06-09 16:44:45 · 307 阅读 · 0 评论 -
Oracle 解除sql语句和存储过程在执行中造成的锁
查出当前存在所的锁,并和相关的SQL语句找出来(任何insert、update、delete都可能会产生锁)select t2.username||' '||t2.sid||' '||t2.serial#||' '||t2.logon_time||' '||t3.sql_text from v$locked_object t1,v$session t2,v$sqlt...转载 2016-06-09 16:43:25 · 1421 阅读 · 0 评论 -
Oracle 复制表结构和表数据
1. 复制表结构及其数据:create table table_name_new as select * from table_name_old2. 只复制表结构:create table table_name_new as select * from table_name_old where 1=2;3. 只复制表数据:如果两个表结构一样:insert into tabl...转载 2016-06-09 16:42:50 · 505 阅读 · 0 评论 -
Oracle 创建表空间
--解锁被锁定的scott用户,用sys用户登录alter user scott account unlock;commit; --创建永久表空间create tablespace "azhe_tbs" datafile 'd:\oracle\product\10.2.0\oradata\orcl\azhe_tbs.dbf' size 1024m autoexten...原创 2016-03-12 23:30:25 · 321 阅读 · 0 评论 -
外键列上是否需要索引
外键列上缺少索引会带来两个问题,限制并发性、影响性能。而这两个问题中的任意一个都可能会造成严重性能问题。其实我认为不需要那么麻烦,与增加一个索引所带来的性能开销和磁盘空间开销相比,缺失索引可能引发的问题要严重得多。因此,我会选择在所有的外键列上添加索引,虽然可能导致创建了部分多余的索引,但是这样排除了外键约束由于缺失索引所带来的性能问题和并发性问题。 如果外键列上缺少...转载 2016-12-12 16:55:59 · 810 阅读 · 0 评论