问题一:PolarDB这个语句不走列存,为什么?
PolarDB这个语句不走列存,为什么? 加上orderby那列 语义会发生变化查询结果不一样了SELECT
DISTINCT p.products_id,
p.products_name AS products_name_m,
p.products_url_name,
p.cas_no,
p.seller_count,
p.price_trend_count,
p.produce_count,
p.features_flag,
p.information_flag
FROM
t_e_products p
INNER JOIN t_e_all_produce_seller_activity sdt ON sdt.products_id = p.products_id
AND IFNULL(sdt.delflag, '') <> '1'
INNER JOIN t_e_casno_relation rel ON rel.cas_no_target = p.cas_no
AND rel.cas_no = '56-81-5'
AND IFNULL(rel.delflag, '') != '1'
INNER JOIN t_zy_price_index pi ON pi.product_id = p.products_id
AND IFNULL(pi.delflag, '') != '1'
WHERE
p.information_flag = '1'
AND IFNULL(p.delflag, '') != '1'
ORDER BY
pi.update_date DESC,
1 = 1
LIMIT
5
参考回答:
8.0.2.2.20 版本已经在灰度了, 应该这几天就发布, 如果需要紧急用的话,可以给你们后台直接升级一下。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/584067
问题二:在PolarDB查询视图的语句base表加了列存 也不走列存吗?
在PolarDB查询视图的语句base表加了列存 也不走列存吗?SELECT
DISTINCT sdt.produce_id,
sdt.customer_id,
sdt.company_name AS company_name_m,
DATE_FORMAT(sdt.anthentication_time, '%Y-%m-%d %H:%i:%s') AS anthentication_time,
sdt.company_type,
CASE
WHEN IFNULL(sdt.company_type, '') = '' THEN ''
ELSE CONCAT(
'typedefine.VERIFICATION_COMPANY_TYPE.',
sdt.company_type
)
END AS company_type_m,
sdt.country_type,
sdt.country_name AS country_name_m,
sdt.member_type,
sdt.prefix_domain_name,
sdt.products_id,
sdt.products_url_name,
sdt.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.vip_icon_flag,
sdt.cbi_flag
FROM
t_e_all_produce_seller_activity sdt
INNER JOIN t_e_products_category pc ON pc.products_id = sdt.products_id
AND (pc.category_id LIKE CONCAT('c1112', '%'))
AND IFNULL(pc.delflag, '') <> '1'
WHERE
(
IFNULL(sdt.activity_id, '') <> ''
OR (
IFNULL(sdt.n_min_price, 0) > 0
AND sdt.n_price_end_date >= CURRENT_DATE()
)
)
AND IFNULL(sdt.delflag, '') != '1'
ORDER BY
sdt.produce_update_date DESC
LIMIT
3;
t_e_all_produce_seller_activity是个视图
参考回答:
这个新版本已经支持了, 可以先简单修改一下sql, 即在 select 后面加上order by的列 sdt.produce_update_date 就好了。 这个功能会在 8.0.2.2.20 版本中支持, 但这个版本还没发布, 可以先简单修改一下 sql。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/584066
问题三:PolarDB的最大库表数量取决于什么?最大连接数是否与资源配置规格正相关?
PolarDB的最大库表数量取决于什么?最大连接数是否与资源配置规格正相关?
参考回答:
PolarDB的最大库表数量通常取决于以下几个因素:
- 实例规格:不同规格的PolarDB实例可能具有不同的库表数量限制。
- 存储空间:库表的数量和大小会占用存储空间,因此存储容量也是一个限制因素。
- 系统性能:随着库表数量的增加,数据库的管理和查询性能可能会受到影响,因此实际可支持的库表数量也可能受限于系统的整体处理能力。
至于最大连接数,通常情况下它是与资源配置规格正相关的。更高的规格通常意味着更多的系统资源(如内存、CPU等)可供分配给数据库连接。以下是一些可能的影响因素:
- 内存:每个数据库连接都会占用一定的内存资源,更多的内存可以支持更多的并发连接。
- CPU:处理数据库连接请求和执行查询需要CPU资源,更强的CPU能力可以更有效地处理更多的并发连接。
- 网络资源:高并发连接也依赖于足够的网络带宽和处理能力。
在PolarDB中,不同规格的实例会有不同的最大连接数限制,如你之前提到的polar.mysql.x4.medium最大连接数为1200。如果需要支持更多的并发连接,可能需要升级到更高规格的实例以获得更多的系统资源。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/584064
问题四:同一个阿里云账号下的ecs连接polarDB用私网就行吗?
同一个阿里云账号下的ecs连接polarDB用私网就行吗?
参考回答:
是的,同一个阿里云账号下的ECS实例可以通过私网连接到PolarDB实例。使用私网连接可以提高数据传输的安全性和稳定性,同时降低网络延迟。要实现这一目标,您需要确保ECS实例和PolarDB实例处于同一VPC网络环境下,并正确配置安全组规则和路由表。
首先,确保您已经创建并配置了VPC网络,并在其中创建了ECS实例和PolarDB实例。
其次,在创建ECS实例时,将其加入适当的安全组,并配置安全组规则,允许ECS实例访问PolarDB实例。
最后,确保路由表已正确配置,以将ECS实例与PolarDB实例之间的流量路由到正确的网络环境中。
通过以上步骤,您的ECS实例应该能够通过私网连接到PolarDB实例
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/584063
问题五:PolarDB的连接公网地址在哪里?
PolarDB的连接公网地址在哪里?
参考回答:
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/584062