gpt4 book ai didi

sql-server - MDX 性能与 T-SQL

转载 作者:行者123 更新时间:2023-12-02 17:07:16 24 4
gpt4 key购买 nike

我有一个数据库,其中包含包含超过 6 亿条记录的表以及一组对数据库进行复杂搜索操作的存储过程。即使表上有合适的索引,存储过程的性能也很慢。数据库的设计是普通的关系型数据库设计。我想将数据库设计更改为多维并使用 MDX 查询而不是传统的 T-SQL 查询,但问题是:在性能方面,MDX 查询是否比传统 T-SQL 查询更好?如果是,这会在多大程度上提高查询的性能?

感谢您的帮助。

最佳答案

苹果和橙子:分析服务 OLAP 多维数据集是一种与 SQL Server 数据库根本不同的存储类型,并且它们旨在执行不同的操作。从技术上讲,MDX 并不比 T-SQL“更快”,反之亦然——它们只是语言,但为不同的需求而设计。

话虽如此,多维数据集通常最适合对静态数据进行数字分析,例如随着时间的推移聚合大量销售/交易/任何记录。相比之下,如果架构和索引构造良好,则传统的关系数据库通常可以很好地进行搜索。一个简单的判断方法:如果你的SQL查询要做很多

select grock, sum/min/max/avg( foo ) 
from bar
group by grock -- Ideal Analysis Services problem

那么立方体可能会有所帮助(它是为聚合数学函数而设计的 - sum() 和 group by)。 OTOH,如果您的查询执行很多操作

select cols 
from foo
where <complicated search> -- Not so much

那么多维数据集可能不会有帮助,我会专注于调整架构、查询和索引,如果数据可以适当分区的话,也许还可以调整表分区。

您是否有聚集索引并覆盖与查询匹配的非聚集索引?

关于sql-server - MDX 性能与 T-SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1672754/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com