在海量數(shù)據(jù)的復(fù)雜分析場景下,查詢效率變得尤為重要。實現(xiàn)復(fù)雜查詢的實時分析,是AnalyticDB MySQL的核心優(yōu)勢之一。AnalyticDB MySQL采用基于代價的查詢優(yōu)化器(Cost-Based Optimizer),以獲得最佳的查詢執(zhí)行計劃,提高查詢效率。

AnalyticDB MySQL基于代價的查詢優(yōu)化器具有以下優(yōu)點:

面向分布式設(shè)計
AnalyticDB MySQL查詢優(yōu)化器會充分利用多機資源,制定最佳的分布式查詢執(zhí)行計劃。將一個復(fù)雜的查詢拆解到多臺機器上執(zhí)行,對于復(fù)雜查詢也能實時查詢出結(jié)果。
高度自治的體驗
優(yōu)化器生成最佳查詢執(zhí)行計劃,需要依賴統(tǒng)計信息的輸入,統(tǒng)計信息是優(yōu)化器預(yù)測查詢開銷的主要信息。 AnalyticDB MySQL會智能地分析每個表的列需要統(tǒng)計什么信息,通過全量、增量和實時等多種手段,全自動地維護統(tǒng)計信息的更新,對用戶完全透明。
多維度融合搜索
AnalyticDB MySQL在搜索最佳查詢執(zhí)行計劃時,會同時考慮多個維度的因素,找到一個綜合的最優(yōu)解。常見的JOIN順序、數(shù)據(jù)shuffle方式、索引選擇和聚合方式等,這些都會被融合在一起考慮,而不是像傳統(tǒng)優(yōu)化器那樣分層搜索。這樣能在復(fù)雜的分析場景下,找到更優(yōu)的查詢執(zhí)行計劃。