DW/BI 数据库面试题html
基础题面试
简单描述Table/Extent/Segment/Block之间的关系.算法
table建立时,默认建立了一个data segment, 数据库 每一个data segment含有min extents指定的extents数, 数组 每一个extent据据表空间的存储参数分配必定数量的blocks安全 |
描述Tablespace和Datafile之间的关系.性能优化
一个tablespace能够有一个或多个datafile,每一个datafile只能在一个tablespace内, 服务器 table中的数据,经过hash算法分布在tablespace中的各个datafile中, 架构 tablespace是逻辑上的概念,datafile则在物理上储存了数据库的种种对象。ide |
描述日志的做用.
记录数据库事务,最大限度地保证数据的一致性与安全性 重作日志文件:含对数据库所作的更改记录,这样万一出现故障能够启用数据恢复,一个数据库至少须要两个重作日志文件 归档日志文件:是重作日志文件的脱机副本,这些副本可能对于从介质失败中进行恢复很必要。 |
请列举几种表链接的内部算法(非Inner、left、Right、Join).
Nest loop, hash join 经常使用的2种吧。。前者是大小表,小小表关联,后者是大表 join 大表。。 Answer:等链接(内链接)、非等链接、自链接、外链接(左、右、全) Or hash join/merge join/nest loop(cluster join)/index join |
SQL调整最关注的是什么.
查看该SQL的response time(db block gets/consistent gets/physical reads/sorts (disk)) |
描述对索引的认识(索引的结构、对DML的影响、为何提升了查询性能).
索引是与表和聚类相关的可选结构。你能够建立,也能够不建立。能够在一个表的一个或多个列上建立索引,以加速 SQL 语句在该表上的执行。索引比没有索引能更快地定位信息,Oracle 数据库对表数据提供更快的访问路径。正确使用索引是减小磁盘 IO 的重要手段。 b-tree index/bitmap index/function index/patitional index(local/global) 索引一般能提升select/update/delete的性能,会下降insert的速度 关于Oracle索引结构,请参考以下:关于 Oracle 索引以及 Bitmap 索引和 B-tree 索引(归档)http://www.cnblogs.com/liuning8023/archive/2013/03/10/2952511.html
关于SQLSERVER索引结构,存储数据的方式请参考 SQLSERVER底层存储和性能优化总结分享http://www.flybi.net/article/123 【数据后台存放在页面面,可是他的排列顺序不像咱们select 是有顺序的。。数据库存储页比较凌乱,杂乱无章。,这个page用满了,在存放另一个列的数据。不建立任何索引,就很杂乱,至关于一堆数据。。】 |
绑定变量是什么?绑定变量有什么优缺点?
绑定变量就是将变量的数据经过必定的数据访问技术来和相应的实体捆绑在一块儿,使之成为一个总体。是数据绑定的一种形式,也是变量访问的一种方法。 绑定变量能够减小SQL分析,节约共享池的空间。可是在某些状况下,使用绑定变量也是有缺点的。好比说,若是使用绑定变量,那么优化器就会忽略直方图的信息,在生成执行计划的时候可能不够优化。 |
比较TRUNCATE和DELETE命令.
二者均可以用来删除表中全部的记录。区别在于:truncate是DDL操做,它移动HWK,不须要 rollback segment .而Delete是DML操做, 须要rollback segment 且花费较长时间. Delte 删除的时候记录日志,而truncate 不记录日志。 |
FACT Table上须要创建何种索引?
位图索引 适合位图索引的字段(重复率高的、经常使用于AND、IN、OR等)如时间、非惟一型的键 |
什么是SCD?请列举SCD的种类与区别.
关于缓慢变化维的使用 ,求举例讲解? http://www.flybi.net/question/136 缓慢变化维的历史数据你们是如何处理的? http://www.flybi.net/question/2974 数据仓库系列 - 缓慢渐变维度 (Slowly Changing Dimension) 常见的三种类型及原型设计 http://www.cnblogs.com/biwork/p/3363749.html |
SQL试题
有一张表T(F1,F2,F3,F4),要根据字段F2排序后取第8-16条记录显示,请写出SQL。
对应的SQL以下:
with cte as ( select ROW_NUMBER()over(order by F2) as RN,* from T ) select * from cte where RN between 8 and 16 或者 select top 8 * from T where F2 not in (select top 8 F2 from T order by F2)
|
指出下面SQL语句的执行顺序:
select a.column1 , COUNT(*) AS CountValue, SUM(b.column3) AS SumValue fromTableAainner joinTableB b on a.column1 = b.column1 and a.column2 = 1 where b.column3 = 10 group by a.column1 havingCOUNT(*)> 10 order by a.column1
1. From 2. ON
3. INNER JOIN 4. WHERE
5. GROUP BY 6. having
7. SELECT 8. ORDERBY
3、DW/BI 试题
描述ROLAP、MOLAP、HOLAP的区别与优点。
多维存储方式(MOLAP) MOLAP在服务器上对数据立方体数组及其管理技术的实现,能够全部的信息查询都从MOLAP服务器上得到。 a, 优点 ¨ 性能好、响应速度快; ¨ 支持高性能的决策支持计算; ¨ 复杂的跨维计算; ¨ 多用户的读写操做。 b, 缺点 ¨ 占用的存储空间较大 ¨ 难以达到TB 级数据量; ¨ 须要进行预计算,可能致使数据爆炸; ¨ 没法支持维的动态变化; ¨ 缺少数据模型和数据访问的标准。
二. 关系数据库存储方式(ROLAP) ROLAP充分利用关系数据库技术将明细数据和聚合数据存储在一个关系型结构中的存储方式。 a, 优点 ¨ 没有大小限制;现有的关系数据库的技术能够沿用; ¨ 能够经过SQL实现详细数据与概要数据的储存; ¨ 现有关系型数据库已经对OLAP作了不少优化,包括并行存储、并行查询、位图索引、SQl 的OLAP扩展等大大提升了ROALP的速度; ¨ 查询性能较不如MOLAP方式。 ¨ 占用的存储空间较少 b, 缺点 ¨ 通常比MDD响应速度慢; ¨ SQL没法完成部分计算,主要是没法完成多行的计算,没法完成维之间的计算。
三. 混合存储方式(HOLAP) 将聚合存储到分析服务器计算机上的多维结构中,并将分区的源数据保留在它现有的关系型结构中的存储方式。 特色 ¨ 查询性能介于以上两种方式之间 ¨ 占用的存储空间介于以上两种方式之间 ¨ 适用于在对基于大量基本数据的汇总进行查询时须要快速响应的多维数据集 |
描述星型与雪花型的区别与优点。
参考下社区里面的 星型模型仍是雪花模型? http://www.flybi.net/question/115 |
描述一下DW设计架构,及ETL设计方法。
参考下附件里面 数据仓库架构实际例子.mht 案例 |