- 浏览: 7852832 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
expert indexing in oracle database 11g是个好书
1) create table cust(
cust_id number
,last_name varchar2(30)
,first_name varchar2(30));
create index cust_idx1
on cust(last_name);
insert into cust (cust_id, last_name, first_name) values(7, 'ACER','SCOTT');
insert into cust (cust_id, last_name, first_name) values(5, 'STARK','JIM');
insert into cust (cust_id, last_name, first_name) values(3, 'GREY','BOB');
insert into cust (cust_id, last_name, first_name) values(11,'KHAN','BRAD');
.....
insert into cust (cust_id, last_name, first_name) values(274, 'ACER','SID');
1 select last_name from cust where last_name='ACER'
则这个时候直接读索引就可以了,所有数据位于索引块,就是说,两个'acer'的last_name的都位于索引块;
这个时候db block gets是为0的;
2 如果索引中不包含所有的信息
select last_name,first_name from cust where last_name='ACER';
由于first_name不包含在索引中,因此必须通过row_id再到数据块文件中找出数据,因此就不是只在索引块中读数据了;
在执行计划中会看到通过table access by index rowid来访问
2) 删除索引的时候
a 让索引不可见
alter index addr_fk1 invisible;
对查询优化器不可见,当修改表中记录的时候,依然由oracle维护,
alter index addr_fk1 visible;
b 或者使其不可用
alter index addr_fk1 unusable;
这个时候优化器不用,而且oracle 在建立表的时候也不会去维护;
如果需要启用,则用rebuild
alter index addr_fk1 rebuild;
最后真正不用才drop index addr_fk1;
3) 管理索引和约束
A 创建表和主键约束和索引分开
create table cust(
cust_id number
,first_name varchar2(200)
,last_name varchar2(200));
alter table cust
add constraint cust_pk
primary key (cust_id)
using index tablespace users;
2) 把建表,索引,约束三者分开
create table cust(
cust_id number
,first_name varchar2(30)
,last_name varchar2(30));
create unique index cust_pk
on cust(cust_id);
alter table cust
add constraint cust_pk
primary key (cust_id);
3) 创建主键约束的时候伴随自动生成的索引不能直接删除,必须先删除或禁用主键约束
alter table cust disable controstran_cust_pk;
.................. drop custratint_cust_pk;
...........drop primary key;
也可以选择保留索引
alter table cust drop constraint cust_pk keep index;
4) 在唯一键上建立b树索引
create unique index cust_uk1 on cust(first_name,last_name) tablespace users;
alter table cust add constraint cust_pk1 unique(first_name,last_name);
5) 在外键列上建立索引,如果没有索引,则往子表中插入数据或从子表中删除数据的时候,会锁定父表中的所有行;(就是子表删除
的操作还不提交的时候,父表的删除操作是不能继续完成的)
1) create table cust(
cust_id number
,last_name varchar2(30)
,first_name varchar2(30));
create index cust_idx1
on cust(last_name);
insert into cust (cust_id, last_name, first_name) values(7, 'ACER','SCOTT');
insert into cust (cust_id, last_name, first_name) values(5, 'STARK','JIM');
insert into cust (cust_id, last_name, first_name) values(3, 'GREY','BOB');
insert into cust (cust_id, last_name, first_name) values(11,'KHAN','BRAD');
.....
insert into cust (cust_id, last_name, first_name) values(274, 'ACER','SID');
1 select last_name from cust where last_name='ACER'
则这个时候直接读索引就可以了,所有数据位于索引块,就是说,两个'acer'的last_name的都位于索引块;
这个时候db block gets是为0的;
2 如果索引中不包含所有的信息
select last_name,first_name from cust where last_name='ACER';
由于first_name不包含在索引中,因此必须通过row_id再到数据块文件中找出数据,因此就不是只在索引块中读数据了;
在执行计划中会看到通过table access by index rowid来访问
2) 删除索引的时候
a 让索引不可见
alter index addr_fk1 invisible;
对查询优化器不可见,当修改表中记录的时候,依然由oracle维护,
alter index addr_fk1 visible;
b 或者使其不可用
alter index addr_fk1 unusable;
这个时候优化器不用,而且oracle 在建立表的时候也不会去维护;
如果需要启用,则用rebuild
alter index addr_fk1 rebuild;
最后真正不用才drop index addr_fk1;
3) 管理索引和约束
A 创建表和主键约束和索引分开
create table cust(
cust_id number
,first_name varchar2(200)
,last_name varchar2(200));
alter table cust
add constraint cust_pk
primary key (cust_id)
using index tablespace users;
2) 把建表,索引,约束三者分开
create table cust(
cust_id number
,first_name varchar2(30)
,last_name varchar2(30));
create unique index cust_pk
on cust(cust_id);
alter table cust
add constraint cust_pk
primary key (cust_id);
3) 创建主键约束的时候伴随自动生成的索引不能直接删除,必须先删除或禁用主键约束
alter table cust disable controstran_cust_pk;
.................. drop custratint_cust_pk;
...........drop primary key;
也可以选择保留索引
alter table cust drop constraint cust_pk keep index;
4) 在唯一键上建立b树索引
create unique index cust_uk1 on cust(first_name,last_name) tablespace users;
alter table cust add constraint cust_pk1 unique(first_name,last_name);
5) 在外键列上建立索引,如果没有索引,则往子表中插入数据或从子表中删除数据的时候,会锁定父表中的所有行;(就是子表删除
的操作还不提交的时候,父表的删除操作是不能继续完成的)
发表评论
-
mybatis generator中的字段大小写生成问题
2017-10-22 19:35 11250mybatis generator插件中,如果 mysql数据 ... -
MySQL统计一个列中不同值的数量
2017-07-11 14:04 16231https://yiqiwuliao.com/post/mys ... -
mysql 1449 : The user specified as a definer ('root'@'%') does not exist 解决方法
2017-03-02 09:44 1727权限问题,授权 给 root 所有sql 权限 mysql ... -
几个不错的MYSQL 优化TIPS
2016-11-19 12:30 768图片来自http://imysql.com/的PDF分享 [ ... -
powerdesign 逆向ORACLE的坑
2016-09-27 17:08 526要注意的是,在WIN 64中,如果要用powerdesin 来 ... -
( 转)mysql中删除两条重复记录中的一条
2015-10-19 20:19 1297| id | createTime | labId | pub ... -
mysql中sql语句=,>的时候的索引设置
2015-05-02 12:27 1284在 https://www.percona.com/blog/ ... -
mysql中profile的使用
2015-04-30 11:11 2187mysql 的 sql 性能分析器主要用途是显示 sql 执行 ... -
mysql中的sql mode
2015-04-13 11:29 1113mysql sql mode小结 1 sql mode可以 ... -
PROCEDURE ANALYSE()为mysql提高性能提供建议
2015-04-02 16:37 1409procedure analyse();语法如下 select ... -
mongodb中意外退出的问题
2015-02-11 14:32 1311mongodb启动的时候,意外退出: Unclean shut ... -
mysql 5.5中保留字查询
2014-06-05 23:16 1455mysql 5.5中保留字查询 http://www.5is ... -
(转)oracle 临时表空间的增删改查
2014-03-18 12:44 1100oracle 临时表空间的增删改查 1、查看临时表空间 (d ... -
pl-sql developer安装
2014-02-07 09:16 1095一直都是机器本机上有oracle,所以装pl sql deve ... -
oracle中的nvl,nvl2等参数
2013-12-26 11:18 22421.nul函数将一个null值转换为一个实际的值。 数据类型可 ... -
Oracle中的ROWNUM rowid 以及MySQL中实现rownum功能类似的语句
2013-12-26 11:08 2327http://gong-10140.iteye.com/blo ... -
ORACLE XE版本的限制
2013-12-07 08:11 361110g中用户数据最大为4G, 11G中最大为11G,如果超出大 ... -
oracle中监控索引是否可用
2013-11-04 07:22 1038在oracle中,可以使用如下的方法监控索引是否可用: a ... -
mysql 5.6中的时间类型的新精度介绍
2013-10-28 09:33 8373留意到mysql 5.6中,可以使用select now(6) ... -
关系数据库和nosql设计schema时的差别的例子
2013-08-18 10:18 3571在关系数据库中和nosql的设计时,对于schema的设计是不 ...
相关推荐
oracle索引分区实践笔记,该笔记中详细描述Oracle的分区索引中的局部索引,全局索引使用中的区别,理解上的差异,执行中的不同,并附相关脚本
自己看视频做的笔记,以后再更新,虽然内容很少,但是一看就懂。我也是菜鸟,所以笔记都是菜鸟笔记
ORACLE索引笔记.pdf
Oracle学习笔记(索引),有具体的代码案例,创建索引,删除索引,重建索引等等
Oracle 12c-优化 Oracle 索引技术.pdf Oracle 12c 执行计划.pdf Oracle 12c锁.pdf Oracle 12c查询优化器.pdf Oracle 12c 使用绑定变量 VS 不使用绑定变量.pdf Oracle 12c 自动工作负载信息库AWR.pdf Oracle 12c 常用...
│ CSDN技术中心 Oracle学习笔记(一).mht │ Oracle 10G 数据库系统学习笔记.pdf │ Oracle DBA学习心得 --第0章 - ColorfulStar3399的专栏 - CSDN博客.mht │ Oracle DBA学习心得 --第1章 - ColorfulStar3399的...
oracle11g基础索引笔记
压缩包主要包括15个文档,主要是本人学习oracle过程中的笔记,希望对你有帮助:主要文档如下: 01-常用命令.txt 02-表空间建表.txt 03-基本查询语句学习笔记.txt 04-高级查询语句学习笔记.txt 05-锁和表分区学习...
Oracle笔记 五、创建表、约束、视图、索引、序列、同义词、表空间 Oracle笔记 六、PL/SQL简单语句块、变量定义 Oracle笔记 七、PL/SQL 异常处理 Oracle笔记 八、PL/SQL跳转/判断/循环语句块 Oracle笔记 九、PL/...
2012.9.Oracle三思笔记合集,供大家下载学习。压缩包里共32个PDF或DOC文件,都是整理版的,非常好阅读,谁下谁知道。 [三思笔记]drbd入门与应用.pdf [三思笔记]Linux5版本安装Oracle11gR2.pdf [三思笔记]Linux平台...
Oracle笔记 五、创建表、约束、视图、索引、序列、同义词、表空间 Oracle笔记 六、PL/SQL简单语句块、变量定义 Oracle笔记 七、PL/SQL 异常处理 Oracle笔记 八、PL/SQL跳转/判断/循环语句块 Oracle笔记 九、PL/...
此笔记是参加oracle培训时记录的。一共七天。 内容包括:数据库系统基本概念 ,工具,SQL语言,数据查询(包括链接查询和分组统计查询)、数据操作(增删改查)、PL/SQL高级编程(视图,函数,存储过程,序列,索引...
oracle笔记其它数据库对象(序列、索引、同义词),有创建序列,创建索引,创建同义词的具体代码案例
这是我自己学习oracle的时候,写的代码案例和笔记,基本上每一个知识点都写的很清楚!大家可以作为参考! 该有的知识点都有! 基本的sql语法,触发器,存储过程,存储函数, 流程控制,游标,异常处理,记录类型,...
表、索引的存储情况检查 <br><br>select segment_name,sum(bytes),count(*) ext_quan from dba_extents where <br>tablespace_name='&tablespace_name' and segment_type='TABLE' group by tablespace_name,segment...
三思oracle笔记包 包含: Linux5版本安装Oracle11gR2 ORACLE 10gR2 RAC环境增加及删除节点 Oracle+RAC数据库配置DataGuard RMAN管理ORACLE_RAC数据库的备份与恢复 全面学习MySQL+Proxy特性 全面学习分区表及分区索引...
老方块 ORACLE 教学笔记 整理 第1堂体验课-SQL技巧篇(一) 第2堂体验课-SQL技巧篇(二) 第3堂体验课-ORACLE并发事务和锁机制 第4堂体验课-索引机制 第5堂体验课笔记 ORACLE体系结构(一) 第6堂体验课笔记 ORACLE...
Oracle数据库学习笔记,包括课程PPT(数据库基础,简单查询,单行多行函数,多表连接,子查询,高级子查询,集合运算,层次查询,DML与事务控制,数据库的网络连接,创建维护表,约束,视图,序列索引和同义词,用户...
工作中积累的oracle sql用法 经典 实用 比如查表空间 索引 job 导数据 等等
韩顺平oracle学习笔记 第0讲:如何学习oracle 一、如何学习oracle Oracle目前最流行的数据库之一,功能强大,性能卓越。学习oracle需要具备一定基础: 1.学习过一门编程语言(如:java ,c) 2.最好学习过一门别的...