oracle常见基础知识

  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等

你可能感兴趣的:(oracle常见基础知识)