首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >巩固指标

巩固指标
EN

Database Administration用户
提问于 2013-03-04 08:14:41
回答 1查看 422关注 0票数 1

我有一张大表,用来生成商业智能立方体。目前,它有大约4000万行和55列。在大表的一列上运行“select distinct”可以生成许多多维数据集维度。

目前,我有一个索引为每个‘选择不同’和16个索引在总数。合并其中一些索引更好吗?我的想法是,多维数据集无论如何都需要处理所有行,而且索引会加快处理速度,因为它比整个表小得多,如果我在一个索引中放置两或三列,索引大小就不会增长那么大。也许好的候选人是低特异性的列。

我往正确的方向走了吗?查询能否利用第二列(或第三列、第四列、.)指数的吗?

我正在使用Server 2005标准版。

EN

回答 1

Database Administration用户

发布于 2013-03-04 13:15:47

如果“多维数据集”需要处理所有行,索引将不会加快进程,因为查询引擎只需进行表扫描。

我认为我能给出的最好的建议是熟悉查询计划输出,这样您就可以看到数据库如何满足查询请求。这将允许您查看用于检索数据的访问方法。它还允许您回答您自己的问题:如果您创建建议的索引,sql server是否使用它来完成您的查询?

我认为你的问题的答案是“不”。如果您的“多维数据集”是通过执行“从表中选择不同的columnB”来实现的,并且您目前有一个关于"columnA“和"columnB”的索引。“将”这些单独的索引合并为一个单一的索引on "(columnA,columnB)“不太可能帮助您在"columnB”上的“多维数据集”查询。您的里程可能会有所不同,因为无法访问模式或查询源,这类问题很难确定地回答。

尽管如此,我认为正确的响应是将您指向Server数据仓库功能,而不是滚动您自己的解决方案。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/35865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档