PolarDB产品使用合集之优化器对索引的阈值一般是多少

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: PolarDB是阿里云推出的一种云原生数据库服务,专为云设计,提供兼容MySQL、PostgreSQL的高性能、低成本、弹性可扩展的数据库解决方案,可以有效地管理和优化PolarDB实例,确保数据库服务的稳定、高效运行。以下是使用PolarDB产品的一些建议和最佳实践合集。

题一:PolarDB行列存节点的路由不是通过proxy路由的 是节点内部的路由吗?


PolarDB行列存节点的路由不是通过proxy路由的 是节点内部的路由吗?


参考回答:

proxy 来路由的。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/584094


题二:开启列存节点没开启行存支持 PolarDB请求会回退到行存节点执行吗?


下面这种语法如果对应的语句字段没加列存的话 我请求路由到列存节点了 开启列存节点没开启行存支持 PolarDB请求会回退到行存节点执行吗?HINT 列存执行:/+ SET_VAR(cost_threshold_for_imci=0) SET_VAR(imci_ap_threshold=0) /

HINT 行存执行:/+ SET_VAR(use_imci_engine=OFF) /


参考回答:

集群地址的话,现在都是默认先到行存节点,如果决定走列存再路由到列存节点。 你这种场景下无法列存执行,会直接在行存节点执行,HINT不会起作用的。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/584093


问题三:PolarDB这个sql行存和列存性能差别好大 ,为什么?


PolarDB这个sql行存和列存性能差别好大 ,为什么? 行存24 rows in set (0.03 sec) 走列存 24 rows in set (4.32 sec)

SELECT

sdt.produce_id,

sdt.customer_id,

sel.company_name AS company_name_m,

sel.prefix_domain_name,

sdt.products_id,

sdt.products_name_en,

sdt.products_url_name,

SUBSTR(sdt.category_id, 1, 3) AS category_id_lv1,

sdt.produce_cas_no AS cas_no,

sdt.produce_name,

sdt.produce_url_name,

sdt.goods_picture_s,

sdt.goods_picture_m AS goods_picture,

sdt.goods_picture_b,

sdt.complete_flag,

sdt.hot_flag,

sdt.main_flag,

sdt.grade_name,

sdt.content,

sdt.package_name,

sdt.n_price_type,

sdt.n_price_trade_term_type,

sdt.n_price_trade_term_text,

sdt.n_price,

sdt.n_price_unit,

sdt.n_price_currency,

sdt.n_price_currency_symbol,

CASE

WHEN CEILING(IFNULL(sdt.n_min_price, 0)) = 0 THEN '0'

WHEN sdt.n_price_end_date < CURRENT_DATE() THEN '0'

ELSE '1'

END AS n_pending_flag,

sdt.activity_id,

sdt.activity_type,

sdt.a_price_trade_term_type,

sdt.a_price_trade_term_text,

sdt.a_price,

sdt.a_price_unit,

sdt.a_price_currency,

sdt.a_price_currency_symbol,

sdt.n_price_loading_port_name,

sdt.brand_name,

CASE

WHEN IFNULL(sel.company_type, '') = '' THEN ''

ELSE CONCAT(

'typedefine.VERIFICATION_COMPANY_TYPE.',

sel.company_type

)

END AS company_type_m,

sel.country_name AS country_name_m

FROM

t_e_all_produce_v1 sdt STRAIGHT_JOIN t_e_all_seller_v1 sel ON sdt.customer_id = sel.customer_id

WHERE

sdt.customer_id = 'us20231121102443902'

AND sdt.delflag = '0'

AND sel.delflag = '0'

ORDER BY

sdt.complete_flag DESC,

sdt.main_flag DESC,

sdt.activity_id DESC,

sdt.hot_flag DESC,

sdt.produce_update_date DESC

LIMIT

1176, 24;


参考回答:

这个是因为 ORDER BY LIMIT 的执行效率取决于数据分布和条件。在行存是按照顺序去扫描数据的,如果前面的数据满足条件的多就直接返回了,效率很高;如果满足条件的数据都在顺序的最末尾,就会执行很长时间。所以优化器估算的代价和实际执行的时间会有不准的情况

这个特定条件,你可以通过 HINT 去指定行存或者列存执行。后续8.0.2会针对这种场景发布动态执行的能力,能够自动解决这个问题 。HINT 列存执行:/+ SET_VAR(cost_threshold_for_imci=0) SET_VAR(imci_ap_threshold=0) /

HINT 行存执行:/+ SET_VAR(use_imci_engine=OFF) /


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/584092


问题四:优化器对索引一般会有一个阈值,这个PolarDB这个阈值是多少,可调节吗?


优化器对索引一般会有一个阈值,如果超过阈值可能会认为全表扫描代价更小,这个PolarDB这个阈值是多少,可调节吗?


参考回答:

优化器选索引时一般是根据代价估算的,选择代价相对最小的,如果走主键索引/全表扫描的代价低于二级索引加回表的代价,会选择主键索引/全表扫描。推荐您一个Outline图形化工具https://zhuanlan.zhihu.com/p/662080419?utm_psn=1720378894861836288


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/584091


问题五:PolarDB控制台这个位置调整并行度需要新建连接才生效吗?


PolarDB控制台这个位置调整并行度需要新建连接才生效吗?


参考回答:

是的,新建链接才生效。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/584090

相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
相关文章
|
2月前
|
并行计算 关系型数据库 分布式数据库
朗坤智慧科技「LiEMS企业管理信息系统」通过PolarDB产品生态集成认证!
近日,朗坤智慧科技股份有限公司「LiEMS企业管理信息系统软件」通过PolarDB产品生态集成认证!
|
4月前
|
Kubernetes 关系型数据库 分布式数据库
PolarDB产品使用问题之出现requests.exceptions.HTTPError: 500 Server Error,是什么导致的
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
PolarDB产品使用问题之出现requests.exceptions.HTTPError: 500 Server Error,是什么导致的
|
3月前
|
存储 缓存 负载均衡
【PolarDB-X 技术揭秘】Lizard B+tree:揭秘分布式数据库索引优化的终极奥秘!
【8月更文挑战第25天】PolarDB-X是阿里云的一款分布式数据库产品,其核心组件Lizard B+tree针对分布式环境优化,解决了传统B+tree面临的数据分片与跨节点查询等问题。Lizard B+tree通过一致性哈希实现数据分片,确保分布式一致性;智能分区实现了负载均衡;高效的搜索算法与缓存机制降低了查询延迟;副本机制确保了系统的高可用性。此外,PolarDB-X通过自适应分支因子、缓存优化、异步写入、数据压缩和智能分片等策略进一步提升了Lizard B+tree的性能,使其能够在分布式环境下提供高性能的索引服务。这些优化不仅提高了查询速度,还确保了系统的稳定性和可靠性。
90 5
|
3月前
|
Cloud Native 关系型数据库 大数据
定川信息「川立方数治平台」通过PolarDB产品生态集成认证!
杭州定川信息技术有限公司「川立方数据治理一体化智能平台」通过PolarDB产品生态集成认证!
|
4月前
|
SQL 关系型数据库 分布式数据库
PolarDB产品使用问题之遇到慢SQL问题,该如何解决
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
3月前
|
C# UED 定位技术
WPF控件大全:初学者必读,掌握控件使用技巧,让你的应用程序更上一层楼!
【8月更文挑战第31天】在WPF应用程序开发中,控件是实现用户界面交互的关键元素。WPF提供了丰富的控件库,包括基础控件(如`Button`、`TextBox`)、布局控件(如`StackPanel`、`Grid`)、数据绑定控件(如`ListBox`、`DataGrid`)等。本文将介绍这些控件的基本分类及使用技巧,并通过示例代码展示如何在项目中应用。合理选择控件并利用布局控件和数据绑定功能,可以提升用户体验和程序性能。
64 0
|
4月前
|
关系型数据库 MySQL 分布式数据库
PolarDB产品使用问题之在执行ALTER TABLE语句后,备份数据的物理空间占用增加,是什么原因
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
4月前
|
关系型数据库 MySQL 分布式数据库
PolarDB产品使用问题之查询数据库时出现报错,是什么原因
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
4月前
|
SQL 关系型数据库 分布式数据库
PolarDB产品使用问题之sql运行报错是神么原因
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
4月前
|
Oracle 关系型数据库 分布式数据库
PolarDB产品使用问题之使用pxd安装PolarDB-X出现报错,该怎么办
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。