--20170322

--1.0

--更新表的统计信息
begin
dbms_stats.set_table_stats(user,'EMP',numrows => 10000);
end;

begin
dbms_stats.set_table_stats(user,'DEPT',numrows => 10000);
end;

--重新查看表的统计信息
select t.table_name,t.num_rows,t.blocks from user_tables t where t.table_name in ('EMP','DEPT');
/*
DEPT    10000    100
EMP    10000    100
*/

--2.0

--查看索引占用的数据块数、聚簇因子
select t1.index_name,t2.num_rows,t2.blocks ,t1.clustering_factor  from user_indexes  t1  inner  join user_tables t2  on t1.table_name=t2.table_name

/*
PK_YW_ZJFPJL    97    35    85
PK_YW_ZJFPDQ    3    5    1
PK_YW_YJFPLS_9    57    5    11
PK_YW_YJFPLS_8    35    5    1
PK_YW_YJFPLS_7    15    5    1
PK_YW_YJFPLS_6    19    5    1
*/

如果聚簇因子与块数接近,则说明表相当有序,得到了很好的组织。即 一个叶子块中的索引条目指向了同一个数据块中的行;

如果聚簇因子与行数接近,表的次序可能就是非常随机的。即 同一个叶子块上的索引条目不太可能指向同一个数据块中的行
--3.0

--type 使用细则,注意标红地方哦
create or replace type emp_type
as object(
  EMPNO    NUMBER(4),
  ENAME    VARCHAR2(10),
  JOB      VARCHAR2(9),
  MGR      NUMBER(4),
  HIREDATE DATE,
  SAL      NUMBER(7,2),
  COMM     NUMBER(7,2)
);

create or replace type emp_tab_type as table of emp_type;

--20170324

表12.-3   向日期增加时间

时间单位               操作                                                                  描述

DATE + n/24/60/60                     一天有86,400秒。由于加1就是增加1天,所以加12.86400就是向一个日期增

N秒         DATE + n/86400                          加1秒。我更喜欢用n/24/60/60技术而不是12.86400技术。它们是等价的。

DATE+NUMTODSINTERVAL       更可读的一种方法是使用NUMTODSINTERVAL(日/秒数间隔)

(n,'second')                                  函数来增加N秒

DATE + n/24/60                          一天有12.440分钟,因此加12.1440就是向一个DATE增加1分钟。更可读的

N分钟      DATE + n/1440                            一种方法是使用NUMTODSINTERVAL函数

DATE+NUMTODSINTERVAL

(n,'minute')

DATE + n/24

N小时      DATE+NUMTODSINTERVAL       一天有24个小时,因此增加12.24就是向一个DATE增加1小时。更可读的

(n,'hour')                                      一种方法是使用NUMTODSINTERVAL函数

N天         DATE + n                                     向DATE直接加N,就是增加或减去N天

N周         DATE + 7*n                                 一周有7天,所以只需将周数乘以7就是要增加或减去的天数

N月         ADD_MONTHS(DATE,n)              可以使用ADD_MONTHS内置函数或者向DATE增加一个N个月的间隔。

DATE+NUMTOYMINTERVAL      请参考稍后有关DATE使用月间隔做出的重要警告

(n,'month')

N年         ADD_MONTHS(DATE,12.*n)        可以使用ADD_MONTHS内置函数,增加或减去N年时将参数指定为12.*n。

DATE+NUMTOYMINTERVAL      利用年间隔可以达到类似的目标,不过请参考稍后有关日期使用年间隔做出的

(n,'year')                                      重要警告

--201703301429

--lob
--对象有自己的专门存储空间  实际上一个lob对象 都会在原表中保留一个指针,而该指针指向了实际的存储位置

--对表启用并行

alter table test0328 parallel;

--批量移动分区表的各个分区
begin
           for x in ( select partition_name
                  from user_tab_partitions
                  where table_name = 'BIG_TABLE2' )
           loop
                  execute immediate   'alter table big_table2 move partition ' ||x.partition_name;
           end loop;
 end;

nologging 操作
create index fy_2006_idx on fy_2006(id) nologging;

Oracle 9i & 10g编程艺术-深入数据库体系结构-学习笔记(持续更新中)的更多相关文章

  1. [读书]10g/11g编程艺术深入体现结构学习笔记(持续更新...)

    持续更新...) 第8章 1.在过程性循环中提交更新容易产生ora-01555:snapshot too old错误.P257 (这种情况我觉得应该是在高并发的情况下才会产生) 假设的一个场景是系统一 ...

  2. Oracle数据库常用函数使用--持续更新中

    NVL函数.NVL( string1, replace_with).如果string1为NULL,则NVL函数返回replace_with的值,否则返回原来的值. INSTR函数.用于查找指定字符串是 ...

  3. MySQL数据库知识点整理 (持续更新中)

    一.修改用户密码 格式(在命令行下输入):mysqladmin -u 用户名 -p旧密码 password 新密码 1. 给root添加密码ab12:  mysqladmin -uroot -pass ...

  4. Go学习笔记(持续更中,参考go编程基础,go边看边练)

    使用关键字 var 定义变量,自动初始化为零值.如果提供初始化值,可省略变量类型. 在函数内部,可用更简略的 := 方式定义变量.空白符号_ package main import "fmt ...

  5. 【oracle笔记1】基础知识大集锦:增删改,数据类型,用户操作,持续更新中···

    什么是数据库?数据库就是用来存储和管理数据的仓库.首先我来简单介绍一下各数据库的背景,常见的数据库如下,oracle:甲骨文公司(市场占用率最高),oracle也是一个公司名,翻译过来就是甲骨文的意思 ...

  6. 数据库MySQL学习笔记高级篇

    数据库MySQL学习笔记高级篇 写在前面 学习链接:数据库 MySQL 视频教程全集 1. mysql的架构介绍 mysql简介 概述 高级Mysql 完整的mysql优化需要很深的功底,大公司甚至有 ...

  7. mySQl数据库的学习笔记

    mySQl数据库的学习笔记... ------------------ Dos命令--先在记事本中写.然后再粘贴到Dos中去 -------------------------------- mySQ ...

  8. Mysql数据库基础学习笔记

    Mysql数据库基础学习笔记 1.mysql查看当前登录的账户名以及数据库 一.单表查询 1.创建数据库yuzly,创建表fruits 创建表 ) ) ,) NOT NULL,PRIMARY KEY( ...

  9. 《Linux命令、编辑器与shell编程》第三版 学习笔记---002

    <Linux命令.编辑器与shell编程>第三版 学习笔记---001 Linux命令.编辑器与shell编程 Shell准备 1.识别Shell类型 echo  $0 echo $BAS ...

随机推荐

  1. VM+CentOS+hadoop2.7搭建hadoop完全分布式集群

    写在前边的话: 最近找了一个云计算开发的工作,本以为来了会直接做一些敲代码,处理数据的活,没想到师父给了我一个课题“基于质量数据的大数据分析”,那么问题来了首先要做的就是搭建这样一个平台,毫无疑问,底 ...

  2. Typed Arrays in javascripts

    Typed Arrays(类型数组)这个概念,可能对很多人来说非常陌生,那么它是什么,又有什么用途呢? 之前的问题 Web应用程序变得越来越强大,例如新增了音视频处理.WebSocket等多个功能特性 ...

  3. Sum It Up---poj1564(dfs)

    题目链接:http://poj.org/problem?id=1564 给出m个数,求出和为n的组合方式:并按从大到小的顺序输出: 简单的dfs但是看了代码才会: #include <cstdi ...

  4. Web开发者应知的URL编码知识(转)

    原文出处: lunatech   译文出处:oschina - 桔子, lwei, 史涛, Khiyuan, super0555, LinuxQueen, 抛出异常的爱 本文首先阐述了人们关于统一资源 ...

  5. 【我的Android进阶之旅】解决Android Studio 运行gradle命令时报错: 错误: 编码GBK的不可映射字符

    1.问题描述 最近在负责公司基础业务和移动基础设施的开发工作,正在负责Lint代码静态检查工作.因此编写了自定义的Lint规则,在调试过程中,编译的时候出现了如下所示的错误: 部分输出日志如下所示: ...

  6. Spring Boot 全局异常配置

    Spring Boot 全局异常配置,处理异常控制器需要和发生异常的方法在一个类中.使用 ControllerAdvice 注解 package com.li.controller; import o ...

  7. 3 、操作元素 (属性 CSS 和 文档处理)

    3   操作元素-属性 CSS 和 文档处理  3.1 属性操作 $("p").text()    $("p").html()   $(":check ...

  8. (3)在Windows7上搭建Cocos2d-x

    工具准备 搭建开发环境需要安装工具包括 Visual Studio python ———(本教程以python2.7.3版本为例),下载地址:http://www.python.org/downloa ...

  9. Java实现使用位图生成真值组合

    摘要: 使用位图生成真值组合. 难度: 初级.   /** * 问题描述: 给定 n 个布尔变量,打印所有真值组合. * 例如, n = 2 时 , 所有真值组合为 (true, false),(tr ...

  10. kafka环境安装

    源码包下载: http://archive.apache.org/dist/kafka/1.0.0/ 集群环境: master 192.168.1.99 slave1 192.168.1.100 sl ...