文档章节

oracle常见基础知识

Gong_Chen
 Gong_Chen
发布于 2016/04/04 23:02
字数 1335
阅读 103
收藏 7
  1. oracle使用的脚本语言称为什么?

    PL-SQL

  2. oracle中游标的分类?

    oracle中游标分为两类:显示游标和隐式游标

  3. oracle中function与procedure的区别?

    (1) function一定要有返回值,但procedure不需要返回值

    (2) procedure可以返回多个返回值

    (3) 在SQL数据操纵语句(DML:select、update、delete、insert)中只能调用function而不能调用procedure

  4. oracle导如\出数据有哪几种方式?

    (1) 通过oracle工具 exp\imp:导入\出的数据是二进制数据

    (2) 通过plsql相关工具:导入\出的数据是文本文件

  5. oracle中存在哪几种格式的文件?

    数据文件(.dbf、ora)、日志文件(.log)、控制文件(.ctl)

  6. oracle中常见的优化的方法?

    (1) 建合适的索引:减少IO次数

    (2) 将索引数据和表数据分开在不同的表空间上:减低IO冲突

    (3) 建立表分区,将数据分别存储在不同表分区上:空间换时间思想

    (4) 将数据库表按一定的规则进行逻辑分割

    (5) 按规则编写SQL语句

        (5.1) SQL全部大写或小写

        (5.2) 尽量使用占位符?而不直接使用字符

        (5.3) 多表查询时,选择数据最少的表放在右边作为基础表,比如存在中间表时

        (5.4) 将表之间的连接写在其他条件之前 

    (6) 尽量不要使用*号:解析时需要去查询数据字典

    (7) 避免使用!=进行比较

    (8) 用(NOT)EXITS代替(NOT)IN

    (9) 合理的使用事务(如可以使用批处理降低事务的使用次数),合理的设置事务的隔离级

  7. oracle中使用什么连接字符串?

    使用操作符 || 连接字符串

  8. oracle的分区策略从哪些方面优化数据库?

    oracle存在四种分区:列表分区、范围分区、散列分区、复合分区

    (1) 增加可用性:一个分区故障不会影响其他分区的使用

    (2) 减少关闭时间:一个表的分区故障只需要修复此分区而不用全部修复

    (3) 利于维护

    (4) 均衡IO

    (5) 改善性能

  9. oracle中如何实现分页?

    oracle中实现分页主要借助于ROWNUM,例如:

    SELECT * FROM (SELECT A.*, ROWNUM num FROM tableName WHERE ROWNUM<=30) WHERE num >= 20;

  10. oracle中ORDER BY使用索引的条件?

    (1) ORDER BY中的列必须包含相同的索引并且索引顺序和排序顺序一样

    (2) 不能有null值的列

  11. 解释data block、extend、segment、tablespace?

    data block:oracle中最小的逻辑单元,从磁盘中读写的就是块

    extend:若干相邻的data block组成的就是extend

    segment:由一组区组成

    tablespace:数据库中数据逻辑存储的地方,一个表空间中可以包含多个数据文件

  12. truncate和delete的区别?

    (1) truncate的操作并不记录的rollback中,所以进行的操作不可以进行回滚

    (2) truncate是DDL语句,而delete是DML

    (3) turncate不能对视图进行操作

    (4) delete操作后并不释放占有的表空间

  13. oracle中的DML、DDL、DCL?

    DML:数据操纵语句,包括select、update、insert、delete

    DDL:数据定义语句,create table、drop table

    DCL:数据控制语句,commit、rollback、grand、invoke

  14. oracle中的常用函数?

    Length、upper、lower、to_date、to_char、Rtrim、Ltrim、substr、add_month、to_number等

  15. oracle中怎样创建索引?

    常用的有三种索引:

    (1) 标准索引:CREATE INDEX 索引名称 ON 表名(列名) TABLESPACE 表空间名;

    (2) 唯一索引:CREATE UNIQUE INDEX 索引名称 ON 表名(列名) TABLESPACE 表空间名;

    (3) 组合索引:CREATE INDEX 索引名称 ON 表名(列名1,列名2) TABLESPACE 表空间名;

  16. 索引的使用应该遵循哪些原则?

    (1) 建议对索引字段建立NOT NULL约束:索引其实是一种数据结构(通常采用B树数据结构),是有序的,当存在NULL时,就无法确定其在索引中的位置;另外,由于空值不等于空值,所以期望检索一个空值是无法达到预期的

    (2) 在表的连接字段建立索引

    (3) 对选择性较高的字段建立索引

    (4) 尽量减少建立复合索引

    (5) 不要对DML频繁的表建立太多的索引

    (6) 不要选择频繁修改的列作为索引列

  17. 索引的优缺点?

    优点:加快数据的检索效率

    缺点:索引需要占用物理空间,创建和维护也比较耗时

  18. oracle中怎样建立视图?

    语法:CREATE VIEW 视图名称 AS SELECT 列名 别名 FROM 表名;

    优点:视图不占用系统空间;使用视图可以隐藏表的结构;简化查询

  19. oracle中如何定义一个触发器?

    CREATE [OR REPLACE] TIGGER 触发器名称  触发时间  触发事件

    ON 表名

    BEGIN

             PL/SQL 

    COURSE  游标名称 IS SELECT * FROM 表名 (定义游标)

    END;

  20. Java中如何调用oracle的存储过程?

    在Java中,通过类CallableStatement调用存储过程;根据存储过程返回值个数的不同,可以分为三类:

    (1) 没有返回值

    conn.prepareCall("call proc{?,?}");

    state.setString(1, "Marry");

    state.setString(2, "China");

    state.execute();

    (2) 有多个但非列表

    conn.prepareCall("call proc{?,?}");

    state.setString(1, "Marry");

    state.registerOutParameter(2, Types.VARCHAR);

    state.execute();

    取出返回值:state.getString(2);

    (3) 列表

    conn.prepareCall("{? = call tpackage.proc(?) }");

    state.registerOutParameter(1, Types.CURSOR);

    state.execute();

© 著作权归作者所有

Gong_Chen
粉丝 1
博文 23
码字总数 9377
作品 0
长沙
私信 提问
Oracle数据库学习的福利来啦——最佳入门经验分享

适用人群:从事数据库技术实施或售后工程师,准备参加OCA,OCP认证考试 通过学习对Oracle数据库的相关基础知识进行梳理,最终共同提炼出必须最先掌握的那部分知识,无论你是数据库开发、管理、...

让往事随风
2016/04/13
80
0
招聘b2c外贸网站运维工程师一名

月薪3-5k,年底有分红。 1.一年以上计算机网络相关工作经验,有IDC运维工作经验者优先; 2.有网络基础知识,熟悉CISCO、华为等交换机、路由器,懂得基本配置原理; 3.有windows、linux系统各版...

younghevin
2011/06/13
660
2
网管的未来出路与学习成长方向选择

一、基础网管的发展方向 1.可以学习CCNA(或同等认证的)向网络工程师方向发展 建议选择CCNA,理由如下: 1)模拟器种类多,技术成熟,路由和交换机类型多,H3C、华为模拟器相对少,可选路由...

hiyajun
2017/06/19
0
0
Oracle性能优化之性能调整_超越OCP精通Oracle视频教程培训38

Oracle性能优化之性能调整超越OCP精通Oracle视频教程培训38 课程介绍 风哥Oracle视频教程<>的第8/10套:Oracle性能优化之性能调整。学习Oracle性能优化,性能调整必备知识讲解 ,操作系统优化调...

风哥Oracle
2018/06/28
0
0
oracle 统计语句 与常见函数的归纳(未完待续)

一、统计语句 1. count count(*)与count(0)语句的区别: count(*)统计所有数量 count(0)统计第一列不为空的 2. 两个统计量的减法 select(select count() from defect)-(select count() from ...

橘子红了呐
2017/11/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

代理模式之JDK动态代理 — “JDK Dynamic Proxy“

动态代理的原理是什么? 所谓的动态代理,他是一个代理机制,代理机制可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成,通过代理可以有效的让调...

code-ortaerc
今天
5
0
学习记录(day05-标签操作、属性绑定、语句控制、数据绑定、事件绑定、案例用户登录)

[TOC] 1.1.1标签操作v-text&v-html v-text:会把data中绑定的数据值原样输出。 v-html:会把data中值输出,且会自动解析html代码 <!--可以将指定的内容显示到标签体中--><标签 v-text=""></......

庭前云落
今天
8
0
VMware vSphere的两种RDM磁盘

在VMware vSphere vCenter中创建虚拟机时,可以添加一种叫RDM的磁盘。 RDM - Raw Device Mapping,原始设备映射,那么,RDM磁盘是不是就可以称作为“原始设备映射磁盘”呢?这也是一种可以热...

大别阿郎
今天
12
0
【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
16
0
Linux 内核的五大创新

在科技行业,创新这个词几乎和革命一样到处泛滥,所以很难将那些夸张的东西与真正令人振奋的东西区分开来。Linux内核被称为创新,但它又被称为现代计算中最大的奇迹,一个微观世界中的庞然大...

阮鹏
昨天
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部