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

数据库 SQL Server
本文主要对SSAS创建多维数据库以及设计数据仓库时的问题进行了总结,并给出了几点优化方案,希望能够对您有所帮助。

我们知道,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创建多维数据库、设计数据仓库以及性能优化方面的总结就介绍到这里了,希望本次的介绍能够对您有所收获!

【编辑推荐】

  1. SQL Server 2005数据库nolock使用详解
  2. SQL Server 2005无法连接到本地服务器的解决
  3. SQL Server如何查询当前服务器有多少连接请求
  4. SQL Server通过整理索引碎片和重建索引提高速度
  5. SQL Server 2008安装无法通过性能计数器一致性的解决

 

责任编辑:赵鹏 来源: 博客园
相关推荐

2014-07-18 09:33:53

数据库数据库优化

2011-08-16 17:31:24

SQL Server访问速度

2017-11-08 10:20:10

2018-01-31 17:50:33

数据库MySQL优化

2016-12-12 13:07:57

数据库优化SQL

2011-07-06 10:49:50

MySQL优化

2011-08-03 17:17:44

SQLServer 2SSAS

2011-07-06 14:12:20

MySQLPercona

2019-08-01 07:31:51

数据库主机日志

2011-08-03 14:02:02

数据库连接ACCESS

2011-04-12 10:33:46

Windows CE数创建

2010-12-10 10:17:21

关系型数据库

2011-04-20 14:28:38

SQL优化

2011-07-26 16:05:19

Oracle数据库服务器

2011-03-04 11:00:22

数据库优化

2011-03-09 08:53:02

MySQL优化集群

2011-03-28 17:12:36

sql server数优化

2011-04-01 14:05:09

SQL数据库

2009-03-11 15:40:20

2011-03-24 15:41:42

数据库
点赞
收藏

51CTO技术栈公众号