ORACLE 数据库总结
1.表和数据恢复
1、从回收站里查询被删除的表
select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recyclebin;
2.执行表的恢复语句
flashback table tableName to before drop; tableName需要恢复的表名
2.数据库优化
1.避免使用select *
2、使用表的别名
3、用Exists 替代 in
--糟糕的查询
SELECT column_name FROM table_name1 WHERE column_name IN( SELECT column_name FROM table_name2)
---较好的查询
SELECT column_name FROM table_name1 outer WHERE EXISTS (SELECT 1 FROM table_name2 inner WHERE inner.column_name = outer.column_name) 4、用not exists 替代 not in
---较好的查询
select columnname,columnname1 from Table_Name1 t1,Table_Name2 t2 where t1.id=t2.id and t2.name<>'A'
---更好的查询
select columnname,columnname1 from Table_Name1 t1 where not exists(select 1 from Table_Name2 t2 where t2.id=t1.id and t2.name='A')
5、用exists替换distinct
当提交一个包含一对多表信息(比如部门表和雇员表)的查询时,避免在select字句中使用distinct。一般可以考虑用Exists替换。Exists使查询更为迅速,因为RDBMS核心模块将在子查询的条件一旦满足后,立刻返回结果。
--糟糕的查询
SELECT DISTINCT t1.column_name
FROM table_name1 t1, table_name2 t2
WHERE t1.column_name = t2.column_name;
---较好的查询
SELECT column_name
FROM table_name1 outer
WHERE EXISTS
(SELECT 1
FROM table_name2 inner
WHERE inner.column_name = outer.column_name)
6、用>=替换>
---糟糕的查询
select * from EMP where id>3;
//较好的查询
select * from EMP where id>=4;
两者的区别在于,后者将直接跳转到第一个id等于4的记录而前者将首先定位到id=3的记录并且向前扫描到第一个id大于3的记录。
3.on和where的执行方式解析:
1、on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。
2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。
4.oracle认为 null 最大
升序排列,默认情况下,null值排后面。
降序排序,默认情况下,null值排前面。
5.如果查询出comm查询出为空值就用0替代,不为零则使用comm值
select ename,sal*13+nvl(comm,0)*13 "年工资" from emp;
6.Oracle中语句 赋值和循环写法
declare
i int:=1; //初始化 赋值(:=)
begin
loop //开始循环
exit when i>10;
DBMS_OUTPUT.PUT_LINE('编号为'||i);
i:=i+1;//相当于i++
end loop;//结束循环
end;
ORACLE 数据库总结的更多相关文章
- 使用Zabbix监控Oracle数据库
Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...
- Oracle 数据库知识汇总篇
Oracle 数据库知识汇总篇(更新中..) 1.安装部署篇 2.管理维护篇 3.数据迁移篇 4.故障处理篇 5.性能调优篇 6.SQL PL/SQL篇 7.考试认证篇 8.原理体系篇 9.架构设计篇 ...
- Oracle数据库该如何着手优化一个SQL
这是个终极问题,因为优化本身的复杂性实在是难以总结的,很多时候优化的方法并不是用到了什么高深莫测的技术,而只是一个思想意识层面的差异,而这些都很可能连带导致性能表现上的巨大差异. 所以有时候我们应该先 ...
- Oracle 数据库语句大全
Oracle数据库语句大全 ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CH ...
- Oracle数据库升级(10.2.0.4->11.2.0.4)
环境: RHEL5.4 + Oracle 10.2.0.4 目的: 在本机将数据库升级到11.2.0.4 之前总结的Oracle数据库异机升级:http://www.cnblogs.com/jyzha ...
- 混合框架中Oracle数据库的还原处理操作
在较早期的随笔<Oracle如何实现创建数据库.备份数据库及数据导出导入的一条龙操作>粗略介绍了Oracle数据库的备份还原操作,本文想从开发框架的基础上介绍Oracle数据库的脚本或者还 ...
- Oracle数据库的链接数目超标
测试场景:Oracle数据库的链接数目超标,iServer是否自动连接. 测试步骤:(1)设置了最大连接数为85,oracle后台进程有83:(2)开启3台iserver(A,B,C)A,B发布tes ...
- 将Oracle数据库中的数据写入Excel
将Oracle数据库中的数据写入Excel 1.准备工作 Oracle数据库"TBYZB_FIELD_PRESSURE"表中数据如图: Excel模板(201512.xls): 2 ...
- Oracle数据库11g各版本介绍及功能比较
.标准版和企 业版.所有这些版本都使用相同的通用代码库构建,这意味着企业的数据库管理软件可以轻松地从规模较小的单一处理器服务器扩展到多处理器服务器集 群,而无需更改一行代码.Oracle数据库11g企 ...
- Oracle数据库,数据的增、删、改、查
oracle数据库中,数据的增.删.改.查,通过SQL语句实现 SQL:结构化查询语言: 特点:不区分大小写:字符串用单引号引起来:语句结束用分号表示结束: 行注释,在语句的最前面加"--& ...
随机推荐
- Why your Games are Unfinished, and What To Do About It (转)
So, you've got a new game idea, and it's going to change what everyone knows about the genre! Great! ...
- ibatis 环境搭建(1)
目录和jar包
- BZOJ 1029 建筑抢修
Description 小刚在玩JSOI提供的一个称之为“建筑抢修”的电脑游戏:经过了一场激烈的战斗,T部落消灭了所有z部落的入侵者.但是T部落的基地里已经有N个建筑设施受到了严重的损伤,如果不尽快修 ...
- Can deep learning help you find the perfect girl?
Can deep learning help you find the perfect girl? One of the first things I did when I moved to Mont ...
- 正则表达式:根据逗号解析CSV并忽略引号内的逗号
需求:解析CSV文件并忽略引号内的逗号 解决方案: public static void main(String[] args) { String s = "a,b,c,\"1,0 ...
- 非主窗体在任务栏显示按钮(简单好用)good
非主窗体在任务栏显示按钮 type TForm2 = class(TForm) private { Private declarations } public { Public declaration ...
- windows 10家庭版升级到专业版
因为要搭建一个服务器,需要用到Docker,根据Docker的文档,Docker必须要安装在windows 10 企业版,专业版,或者教育版上.不然不能使用.一直以为要重新下载专业版的镜像重新安装wi ...
- Pie(二分)
ime Limit: 1000MS Memory Limit: 65536K Total Submissions: 8930 Accepted: 3235 Special Judge De ...
- -_-#【jQuery】data
.data() <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <t ...
- HDU 5876 Sparse Graph 【补图最短路 BFS】(2016 ACM/ICPC Asia Regional Dalian Online)
Sparse Graph Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)To ...