1、Oracle分区类型
2.每种类型通常用于什么场景?
3.哪种分区类型使用最多?为什么?
4.组合分区用过吗?怎么搭配?
基本语法是什么?-toc" style="margin-left:40px;">5.分区表创建的基本语法是什么?
6.分区有哪些不同的操作?
7.如何查看表格分区的信息?
8.分区字段where筛选和直接读取分区内容,谁快一些?
索引的概念?
10.索引有哪些不同类型?
11.什么场景通常使用不同的索引?
12.普通索引和位图索引有什么区别?
13.索引在什么情况下会失效?
14.索引的优缺点?
15.哪些列应该建立索引?哪些列不应该建立索引?
16.唯一的索引和主键索引有什么区别?
17.如何查看表格中不同的索引?
本地索引和全局索引在索引中有什么区别?
19、oracle如果里面有一个sql语句运行缓慢,怎么办?
20、oracle有哪些常见的数据类型?
21、varchar 和 varchar2 的区别?
22、minus的含义是什么?
23、在左连接里面,如果使用and筛选和用where筛选,区别是什么?
24、左边表有身份证信息,右边也是身份证信息,查询左边有但是右边没有的身份证:
25、经常用到的函数有哪些?
26、伪列有哪些有什么用?
27、表空间怎么创建、怎么查看、有什么作用?
28、执行计划里面经常要查看哪些内容?
29、什么是视图?优点缺点是什么?
30、什么是物化视图?和视图的区别是什么?
31、存储过程由哪些代码构成?
32、什么时候写存储过程?
33、存储过程和函数的区别?
34、数据仓库是用什么方法来保存历史数据的
35、拉链表是什么结构?什么是缓慢变化维?
36、Oracle数据库的端口号是多少
37、Oracle 数据库日常维护?
38、什么是伪列,有哪几种,区别在那里?
39、如何使用ROWID去重?
40、如何分页查询?
41、SQL执行顺序?
42、如何对重复数据去重?
43、常用的SQL函数有哪些?
44、常见的分析函数(开窗函数)有哪些?
45、如何列转行、行转列?
46、分析函数和聚合函数的区别?
47、分析函数的使用需要注意什么?
48、in与not in,exists与not exists的区别以及性能分析?
49、ON和WHERE中写过滤条件的区别是什么?
50、count(*) 和 count(1)和count(列名)区别?
51、什么是同比和环比?如何用SQL实现同比环比的计算?
52、Union和union all 的区别?
53、Oracle where 子句中多个and和or时,执行顺序是怎么样的?
54、知道varchar与varchar2的区别吗?空值怎么转换及区别?
55、Delete和truncate的区别,和drop又有什么区别?
56、知道怎么授权吗?取消授权呢?
57、什么是数据字典?如何查询系统数据字典?
58、Oracle SQL语句由什么命令组成?
59、什么是事务?事务有哪些特点?
60、什么是锁,什么是死锁?
61、如果发生死锁,如何处理:
62、什么是表空间?系统常见的表空间有哪些?
63、什么是同义词?有什么作用?
64、什么是序列?常用在什么地方?
65、表分区的概念?
66、什么时候使用表分区?
67、表分区的优点和缺点?
68、如何把一张没有分区的表转化为分区表?
69、什么是游标,如何使用?
70、df游标的属性有哪些?
71、动态sql如何实现变量绑定?好处是什么?
72、如何创建存储过程?
73、存储过程参数的区别?
74、常用的异常都有哪些?
75、如何找到存储过程哪个环节执行的快慢?
76、 包的组成?
77、什么是全局变量?
78、常用的SQL语句优化?
79、优化器是什么?有哪几种?
80、表的扫描方式有哪些?优缺点是什么?
81、表的关联方式有哪些?优缺点是什么?
82、什么是并行,如何通过并行增加数据处理速度?加多少并发?
83、如何看hints 是否被调用?Hints原理
84、常见的hints优化器有哪些?
85、有两张很大的表关联,怎么做才能关联性能好?
86、大表和小表连接如何进行优化?
87、Oracle内部执行机制?
88、执行计划执行顺序
范围分区,列表分区,散列分区,组合分区
2、每种类型一般是用在什么场景下?
范围分区:用指定的分区键决定的范围进行分区,最为常用,分区键常采用日期。
列表分区:某列的值只有几个,可以采用列表分区。
散列分区:通过指定分区数量或编号来均匀分布数据的一种分区类型,分区数量常采用2的N次方;当列的值没有合适的条件时,采用散列分区;
组合分区:范围分区和列表分区组合;范围分区和散列分区组合,分区中的分区被称为子分区;
3、哪种分区类型使用的最多?为什么?
看具体情况:
如果需要进行数据的过期化处理,那么范围分区基本上是唯一的选择。
如果需要数据的均匀分布,那么可以考虑使用HASH分区。
如果数据的值可以很好地对应于某个分区,那么就可以考虑使用列表分区。
在上面的原则基础上,再结合性能的影响因素,来最终确定使用哪种类型的分区。
4、有没有用过组合分区?怎么搭配的?
5、分区表创建的基本语法是什么?
Create table 表名
(字段名,字段类型……)
partition by range(字段名)
(partition 子分区名 values less than (某个日期) )
6、分区还有哪些不同的操作?
7、怎么去查看表格分区的信息?
select * from USER_TAB_PARTITIONS a where a.table_name = '表名';
8、对分区字段进行where筛选和直接读取分区内容,谁快一些?
select * from fq_emp_list where depnto=10;
9、索引的概念?
索引相当于目录,是对某些特定列中的数据进行排序,生成索引表,该列作为WHERE条件时,扫描索引列,根据ROWID快速定位具体记录,提高查询效率。
10、索引有哪些不同的类型?
11、不同的索引一般用在什么场景下?
12、普通索引和位图索引有什么区别?
13、索引在什么情况下会失效?
14、索引的优缺点?
15、哪些列该建立索引?哪些列不应建立索引?
16、唯一索引和主键索引有什么区别
主键是不能自己独立创建,和主键约束一起创建的;
唯一可以和约束一起创建,也可以单独创建。
主键是保证字段不能空不重复,唯一只能保证不重复。
17、怎么查看一个表格有哪些不同的索引?
18、索引中本地索引和全局索引的区别是什么?
本地索引不能创建唯一索引的类型,因为每个小的索引只能保证每个分区的数据是唯一的,不能保证整个表格的数据是唯一的。
全局索引不能创建位图索引的类型,统一管理的索引,无法对整个表格中,每个独立的分区的数据进行识别和判断。
19、oracle里面,如果有一个sql语句运行很慢,怎么办?
1.
查看每个子句运行的过程
2.
3. 给查询的字段进行
4. 查看有没有
5.
6. sql语句频繁的对
7. sql语句可能会在
8. 还可以使用
20、oracle有哪些常见的数据类型?
21、varchar 和 varchar2 的区别?
oracle里面,varchar默认就是varchar2格式
22、minus的含义是什么?
查询第一个表格有但是第二个表格没有的数据
23、在左连接里面 ,如果使用and筛选和用where筛选,区别是什么?
a b
1 1
2 2
3 4
select * from a left join b on a.id=b.id and a.id=2;
3 2 1
2 2
1 null
3 null
select * from a left join b on a.id=b.id where a.id=2;
2 2
24、左边表有身份证信息,右边也是身份证信息,查询左边有但是右边没有的身份证:
select * from a
minus
select * from b;
select * from a where id not in (select * from b);
select * from a left join b on a.id=b.id where b.id is null;
25、经常用到的函数有哪些?
upper lower initcap
排名 row_number rank dense_rank
平移 lag lead

正在上传…重新上传取消
将字符串数字转换成数值型数字:to_number()
将数字类型转换成字符串:to_char()
26、伪列有哪些有什么用?
27、表空间怎么创建、怎么查看、有什么作用?
create tablespace 名字 datafile '' size xxxM;
select * from user_tablespaces;
将表格或者分区和电脑上的数据文件进行绑定的一个数据库对象。
28、执行计划里面经常要查看哪些内容?
执行计划是一条查询语句在Oracle中的执行过程或访问路径。
执行完一条select语句后,在PLSQL执行计划窗口查看,或按F5即可查看刚执行的这条查询语句的执行计划。
或者在命令窗口输入:
SQL> explain for select * from emp
SQL> ;
Explained
SQL> select * from table(dbms_xplan.display());
主要看以下内容:
- 执行顺序:缩进最多的先执行;同一级的动作遵循最上最右先执行;
- 表扫描方式:全表扫描、索引扫描
- 关联机制:嵌套循环、哈希连接、排序-合并连接
- 耗费(COST)、CPU耗费:Oracle估计的该步骤的执行成本,用于说明SQL执行的代价,理论上越小越好
29、什么是视图?优点缺点是什么?
作用:减少子查询的复杂性;提高运行效率;可以仅提供视图数据,提高数据安全性。视图以定义的方式存储在数据库中,不占用表空间。
30、什么是物化视图?和视图的区别是什么?
视图固定为表称为物化,物化视图是当时建立视图时固定下来的数据,如果原表数据有更新,物化视图中的数据是不变的。
物化视图是一种特殊的物理表,“物化”(Materialized)视图是相对普通视图而言的。
普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视图SQL语句的查询。这样对整体查询性能的提高,并没有实质上的好处。
31、存储过程由哪些代码构成?
create or replace procedure 名字(参数 类型)
as
声明
begin
执行
exception
异常
end;
32、什么时候写存储过程?
1.使用
2.复杂的逻辑使用存储过程;
3.一些数据库的固定操作;
4.表格的数据抽取的ETL操作。
33、存储过程和函数的区别?
1
2.
函数一般情况下是用来计算并返回一个计算结果而存储过程一般是用来完成特定的数据操作(比如修改、插入数据库表或执行某些DDL语句等等)
34、数据仓库是用什么方法来保存历史数据的
每次
35、拉链表是什么结构?什么是缓慢变化维?
维度建模的数据仓库中,有一个概念叫Slowly Changing Dimensions,中文一般翻译成“缓慢变化维”,经常被简写为SCD。缓慢变化维的提出是因为在现实世界中,维度的属性并不是静态的,它会随着时间的流失发生缓慢的变化。这种随时间发生变化的维度我们一般称之为缓慢变化维,并且把处理维度表的历史变化信息的问题称为处理缓慢变化维的问题,有时也简称为处理SCD的问题。
第一种方式是直接覆盖原值。这样处理,最容易实现,但是没有保留历史数据,无法分析历史变化信息。第一种方式通常简称为“TYPE 1”。
第二种方式是添加维度行。这样处理,需要代理键的支持。实现方式是当有维度属性发生变化时,生成一条新的维度记录,主键是新分配的代理键,通过自然键可以和原维度记录保持关联。第二种方式通常简称为“TYPE 2”。
第三种方式是添加属性列。这种处理的实现方式是对于需要分析历史信息的属性添加一列,来记录该属性变化前的值,而本属性字段使用TYPE 1来直接覆盖。这种方式的优点是可以同时分析当前及前一次变化的属性值,缺点是只保留了最后一次变化信息。第三种方式通常简称为“TYPE 3”。
36、Oracle数据库的端口号是多少
37、Oracle 数据库日常维护?
检查Oracle实例状态
检查Oracle服务进程
检查Oracle监听进程;
select+instance_name,host_name,startup_time,status,database_status from v$instance;
status是oracle实例状态必须为open。database_status是数据库状态,必须为active。
38、什么是伪列,有哪几种,区别在那里?
39、如何使用ROWID去重?
DELETE FROM 表名 别名WHERE ROWID NOT IN(SELECT MIN(ROWID) FROM 表名 别名 GROUP BY 列名)
如果想通过ROWID去重,那么在 delete 重复数据时,需要group by 表的所有字段。如果只group by 表的个别字段,那么会造成误删除。
40、如何分页查询?
可以用
--举例:第一页显示前5行
select ROWNUM,e.* from emp e
where rownum<=5--查询前5行,不能大于!
---第二页显示6-10
select * from
(
select ROWNUM rn,e.* from emp e
) t where t.rn>5 and t.rn<11
--第三页显示11-14
select * from
(
select ROWNUM rn,e.* from emp e
) t where t.rn>10 and t.rn<15
41、SQL执行顺序?
(1)from来自不同数据源的数据;
(2)where基于指定的条件对记录行进行筛选;
(3)group by子句将数据划分为多个分组;
(4)使用聚合函数进行计算;
(5)使用having子句筛选分组;
(6)计算所有的表达式;
(7)select 的字段;
(8)使用order by对结果集进行排序。
42、如何对重复数据去重?
distinct、exists、group by 、rowid,其中distinct性能最差
43、常用的SQL函数有哪些?
字符串函数、日期函数、数值函数、NVL、decode、case when等。
44、常见的分析函数(开窗函数)有哪些?
聚合类分析函数:MAX(),MIN(),SUM(),AVG(),COUNT()
排名类的分析函数:RANK()1224,DENSE_RANK()1223与ROW_NUMBER()1234:--分析函数中排序
位移分析函数:LAG()与LEAD():求之前或之后的第N行