数据仓库面试题.doc

数据仓库面试题.doc

ID:56328820

大小:55.00 KB

页数:6页

时间:2020-06-11

数据仓库面试题.doc_第1页
数据仓库面试题.doc_第2页
数据仓库面试题.doc_第3页
数据仓库面试题.doc_第4页
数据仓库面试题.doc_第5页
资源描述:

《数据仓库面试题.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、数据仓库及BI工程师面试题集锦前言1、介绍一下项目经验、项目中的角色。一、数据库1、Oracle数据库,视图与表的区别?普通视图与物化视图的区别?物化视图的作用?i.视图与表的区别1.1、视图是已经编译好的sql语句。而表不是2.视图没有实际的物理记录。而表有。3.表是内容,视图是窗口4.表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时四对它进行修改,但视图只能有创建的语句来修改ii.物化视图与视图区别1.物化视图和视图差别非常大,不是几句能说清物化视图是自动刷新或者手动刷新的,视图不用刷新物化视图也可以

2、直接update,但是不影响basetable,对视图的update反映到basetable上物化视图主要用于远程数据访问,物化视图中的数据需要占用磁盘空间,视图中不保存数据。2、Oracle数据库,有哪几类索引,分别有什么特点?a)1.单列索引与复合索引 一个索引可以由一个或多个列组成,用来创建索引的列被称为“索引列”。 单列索引是基于单列所创建的索引,复合索引是基于两列或者多列所创建的索引。2.唯一索引与非唯一索引 唯一索引是索引列值不能重复的索引,非唯一索引是索引列可以重复的索引。 无论是唯一索引还是非唯一索引,索引列都

3、允许取NULL值。默认情况下,Oracle创建的索引是不唯一索引。3.B树索引 B树索引是按B树算法组织并存放索引数据的,所以B树索引主要依赖其组织并存放索引数据的算法来实现快速检索功能。4.位图索引 位图索引在多列查询时,可以对两个列上的位图进行AND和OR操作,达到更好的查询效果。5.函数索引 Oracle中不仅能够直接对表中的列创建索引,还可以对包含列的函数或表达式创建索引,这种索引称为“位图索引”。1、Union与UnionAll的区别?a)Union会对查询结果进行排序去重,效率比unionall低,unionall

4、只是两个查询集的合并操作。建议使用Unionall,查询出来后再对数据进行去重操作。2、对游标的理解?游标的分类?使用方法?游标是映射在结果集中一行数据的位置实体,有了游标,用户就可以访问结果集中的任何一条数据。游标分为静态游标和REF游标,静态游标分为显示游标和隐式游标,显示游标使用步骤是声明游标,打开游标,获取记录,关闭游标。所有的DML语句为隐式游标,可以从游标的属性获得sql语句的信息。REF游标是动态关联结果集的临时对象,使用步骤也是先要进行声明游标,然后打开游标,获取记录,关闭游标。3、如何查找和删除表中的重复数据

5、?给出方法或SQL。查询表中重复数据。Select*frompeoplewhereidin(Selectidfrompeoplegroupbyidhavingcount(id)>1);Deletefrompeoplewhereidin(selectidfrompeoplegroupbyidhavingcount(id)>1)androwidnotin(selectmin(rowid)frompeoplegroupbyidhacingcount(id)>1);创建索引有哪些需要注意的要点?a)一般来说,不需要为比较小的表创建索引

6、(数据占用存储空间小)b)即使是大表,如果经常需要查询的数据不超过10%到15%的话,那就没有必要为其建立索引的必要。c)如对于一些重复内容比较少的列,特别是对于那些定义了唯一约束的列。在这些列上建立索引,往往可以起到非常不错的效果。d)数据库管理员,需要隔一段时间,如一年,对数据库的索引进行优化。该去掉的去掉,该调整的调整,以提高数据库的性能。e)通常来说,表的索引越多,其查询的速度也就越快。但是,表的更新速度则会降低。这主要是因为表的更新(如往表中插入一条记录)速度,反而随着索引的增加而增加。f)对于一些数据仓库或者决策型

7、数据库系统,其主要用来进行查询。g)位图索引。基数是位图索引中的一个基本的定义,它是指数据库表中某个字段内容中不重复的数值。2、Oracle数据库中,有哪几种分区?各自特点是什么?作用是什么?分区索引的分类和作用?范围分区,散列分区,复合分区,索引分区3、表T(a,b,c,d),要根据字段c排序后取第21—30条记录显示,请给出sql。select*from(selectc.*,rownumasrnfrom(select*fromtorderbyc)c)wherernberween21and30;4、怎样优化数据库?i.首先应

8、确定那里出现性能问题,一般一个调度时常都会有时间log记录,若发现某个调度时间过长,那么我们可以使用oracle自带profiler进行诊断出该模块出现性能问题的sql。ii.找出问题sql后对表大小进行分析,知道哪些是大表和小表。iii.查看该sql执行计划(用autotr

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。