在PolarDB中,如果一条join条件都不符合

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介: 【1月更文挑战第21天】【1月更文挑战第104篇】在PolarDB中,如果一条join条件都不符合

在PolarDB中,为什么 a表实际上一条joint条件都不符合,但rows却是全表行数?
在PolarDB中请教一个索引问题,为什么 a表实际上一条joint条件都不符合,但rows却是全表行数?explain
select /+join_prefix(a) /
a.billid
FROM erp_bill_index a
left JOIN erp_bill_index_ext AS ebie
ON a.billid=ebie.sourcebillid and ebie.profileid=200005518 and ebie.sourcebillid>0 -- 待确认的预收款单
where a.profileid=200005518 AND a.billdate >= '2023-05-25' AND a.billdate < '2024-01-03' ;

在PolarDB中,如果一条join条件都不符合,但rows却是全表行数,可能是因为查询条件过于宽松,导致所有行都被匹配到了。在这种情况下,可以使用EXPLAIN命令来查看查询的执行计划,以确定是否存在性能问题。

根据您提供的查询语句,可以添加EXPLAIN关键字来查看执行计划:

EXPLAIN
SELECT /+join_prefix(a) /
a.billid
FROM erp_bill_index a
LEFT JOIN erp_bill_index_ext AS ebie
ON a.billid=ebie.sourcebillid and ebie.profileid=200005518 and ebie.sourcebillid>0 -- 待确认的预收款单
WHERE a.profileid=200005518 AND a.billdate >= '2023-05-25' AND a.billdate < '2024-01-03';

通过查看执行计划,可以分析查询的性能瓶颈,并针对性地进行优化。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
SQL 弹性计算 关系型数据库
HTAP数据库 PostgreSQL 场景与性能测试之 3.1 - (OLAP) 大表JOIN统计查询-10亿 join 1亿 agg
标签 PostgreSQL , HTAP , OLTP , OLAP , 场景与性能测试 背景 PostgreSQL是一个历史悠久的数据库,历史可以追溯到1973年,最早由2014计算机图灵奖得主,关系数据库的鼻祖Michael_Stonebraker 操刀设计,PostgreSQL具备与Oracle类似的功能、性能、架构以及稳定性。 PostgreSQL社区的贡献者众多
1810 0
|
3月前
|
关系型数据库 分布式数据库 PolarDB
在PolarDB中,对于join操作,系统会采用拉取内表
【1月更文挑战第21天】【1月更文挑战第103篇】在PolarDB中,对于join操作,系统会采用拉取内表
19 1
|
10月前
|
SQL 算法 Cloud Native
数据库内核那些事|细说PolarDB优化器查询变换 - join消除篇
数据库的查询优化器是整个系统的"大脑",一条SQL语句执行是否高效在不同的优化决策下可能会产生几个数量级的性能差异,因此优化器也是数据库系统中最为核心的组件和竞争力之一。阿里云瑶池旗下的云原生数据库PolarDB MySQL版作为领先的云原生数据库,希望能够应对广泛用户场景、承接各类用户负载,助力企业数据业务持续在线、数据价值不断放大,因此对优化器能力的打磨是必须要做的工作之一。 本系列将从PolarDB for MySQL的查询变换能力开始,介绍我们在这个优化器方向上逐步积累的一些工作。
11356 0
|
SQL Oracle 架构师
PolarDB for MySQL优化器查询变换系列 - join条件下推
本篇是PolarDB 优化器查询变换系列的第四篇,之前的文章请见:窗口函数解相关:https://ata.alibaba-inc.com/articles/194578IN-list变换:https://ata.alibaba-inc.com/articles/254779Join消除:https://ata.alibaba-inc.com/articles/252403引言在数据库的查询优化特性
189 0
PolarDB for MySQL优化器查询变换系列 - join条件下推
|
SQL Cloud Native 算法
PolarDB 优化器查询变换系列 - join消除
背景众所周知,数据库的查询优化器可以说是整个系统的"大脑",一条查询语句执行的是否高效,在不同的优化器决策下,可能会产生几个数量级的性能差异,因此优化器也是数据库系统中最为核心的组件和核心竞争力之一。对于各个商业数据库,其优化器通过常年积累下来的能力,是其最为核心的商业机密,而另一方面从现有的开源数据库来看,很可惜大多数产品的优化器还都十分初级,也包括老牌的MySQL/Post
187 0
|
SQL 关系型数据库 PostgreSQL
PostgreSQL连接(JOIN)
PostgreSQL JOIN子句用于把两个或多个表的行结合起来,基于这些表之间的共同变量。 在PostgreSQL中,JOIN有五种连接类型: CROSS JOIN:交叉连接 内连接:内连接 LEFT OUTER JOIN:左外连接 右外连接:右外连接 FULL OUTER JOIN:全外连接 接下来让我们创建两张表COMPANY和DEPARTMENT。
453 0
|
SQL 存储 缓存
PolarDB-X 1.0-用户指南-SQL调优指南-SQL调优进阶-JOIN与子查询的优化和执行
本文主要介绍如何使用JOIN和子查询。JOIN将多个表以某个或某些列为条件进行连接操作而检索出关联数据的过程,多个表之间以共同列而关联在一起。子查询是指在父查询的WHERE子句或HAVING子句中嵌套另一个SELECT语句的查询。
147 0
PolarDB-X 1.0-用户指南-SQL调优指南-SQL调优进阶-JOIN与子查询的优化和执行
|
SQL 存储 算法
PolarDB年终钜惠!Join the Dots of PolarDB-X 2.0
为了答谢所有的用户及合作伙伴,PolarDB推出跨年优惠独享,并奉上PolarDB-X产品技术的独家解读!
2468 0
PolarDB年终钜惠!Join the Dots of PolarDB-X 2.0
|
SQL 分布式计算 并行计算
PostgreSQL 并行计算解说 之17 - parallel nestloop join
标签 PostgreSQL , cpu 并行 , smp 并行 , 并行计算 , gpu 并行 , 并行过程支持 背景 PostgreSQL 11 优化器已经支持了非常多场合的并行。简单估计,已支持27余种场景的并行计算。 parallel seq scan
335 0
|
SQL 分布式计算 并行计算
PostgreSQL 并行计算解说 之18 - parallel merge join
标签 PostgreSQL , cpu 并行 , smp 并行 , 并行计算 , gpu 并行 , 并行过程支持 背景 PostgreSQL 11 优化器已经支持了非常多场合的并行。简单估计,已支持27余种场景的并行计算。 parallel seq scan
840 0