IT技术网www.itjs.cn

当前位置:首页 > 数据库 > MySQL > 利用SSAS创建多维数据库时的问题总结及优化方案

利用SSAS创建多维数据库时的问题总结及优化方案

发布时间:2011-08-11 11:06 来源:未知

我们知道,SSAS是SQL Server 2005数据库中的用于BI的组件,通过SSAS可以创建多维数据库,并在之上进行数据挖掘操作。本文我们就对SSAS工作时遇到的一些问题进行了总结,接下来我们就来一起了解一下这部分内容。

事实表dim_BasicProbe->维度dim_System->维度dim_SystemType 呈雪花型关联,但事实表dim_BasicProbe仍然与维度dim_SystemType直接关联,因为假如不直接关联要查某个系统类型的BasicProbe数据时,必须先查询出System,从而查询出BasicProbe,性能有所损耗。所以雪花型关联慎用。

数据仓库(sql server)中表之间没有外键关联,到设计ssas时才在数据源视图中设计外键关联,即在程序逻辑中控制。不管是不是BI,只要是大数据量的应用程序,都不会在存储方(如sqlserver)建立外键关联,因为假如在存储方设置外键,当数据量达到上百上千万时,性能相当低。

问题描述:为什么在一个事实表中,已经有os字段(非外键关联)用于描述操作系统,又要有osId字段(外键关联os维 度)?

答案:一般假如单单在SQLDB数据库里面查数据的,是尽量不要用关联查询的,关联查询太慢,假如在cube里面那倒没什么问。即是说os字段用于直接在SQLDB数据库里面查询数据库,为了提高性能直接放在事实表中,免去关联查询。而osId用于在cube中进行关联,体现多维。所以既要有os字段也要有osid字段。在接触的项目中,这种做法相当普遍。

优化小点:

数据存储时可以考虑适当的数据冗余,以减少数据库表之间的链接操作,提高查询效率。

不要在一句sql里再三地使用相同的函数,浪费资源,将函数结果放在变量里以便重复调用。

将量少的数据考虑放在程序中的常量或者xml文件中。

select的时候只返回需要的字段,而不是select *。

关于利用SSAS创建多维数据库、设计数据仓库以及性能优化方面的总结就介绍到这里了,希望本次的介绍能够对您有所收获!