数据仓库常见面试问题
一、 数据库 1、 Oracle数据库,视图与表的区别?普通视图与物化视图的区别?物化视图的作用?materialized view 答:a:视图是虚拟表,提高了表的安全性,视图没有实际物理空间,而表有实际存储的物理空间 b:物化视图存储了实实在在的数据,而普通视图之存储了定义 c:物化视图的优点像索引一样,提高查询性能。当基表发生变化时,物化视图也应当刷新。 物化视图是数据库中的一种存储数据的对象,和表一样,存储了数据。用于预先计算并保存表连接或者聚集等耗时较多的操作。这样,在执行查询的时候,就可以避开连接、聚集等耗时的操作,从而快速的得到结果。它可以查询表,视图甚至是其他物化视图中的数据。和视图不同的是,它存储了实实在在的数据,而视图只是存储了定义而已,所以,也是可以在物化视图上创建索引的。物化视图在很多方面,和索引很相似:使用它的主要目的是为了提高查询性能;物化视图对应用是透明的,增加或者删除物化视图不会影响应用程序中查询语句的正确性和有效性;物化视图会占用存储空间;当基表发生变化时,物化视图也应当刷新。通常情况下,物化视图被称为主表(在复制期间)或者明细表(在数据仓库中)。 2、 Oracle数据库,有哪几类索引,分别有什么特点? 答:三类索引 a:B树索引 b:文本索引 c:位图索引 3、 Union与Union All的区别? Union 会去掉重复,效率比 union