---
title: 查询语句中使用分隔符（SEPARATOR）导致执行慢的原因和解决方法-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 查询语句中使用分隔符（SEPARATOR）导致执行慢的原因和解决方法相关的常见问题和使用技巧，帮助您快速解决 查询语句中使用分隔符（SEPARATOR）导致执行慢的原因和解决方法的难题。
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

划线反馈

# 查询语句中使用分隔符（SEPARATOR）导致执行慢的原因和解决方法

更新时间：2024-11-18 10:41

适用版本： V3.1.x、V3.2.x、V4.0.x、V4.1.x、V4.2.x、V4.3.x 内容类型：Troubleshoot  

## 问题现象

查询语句中包含分隔符，SQL 执行慢。

示例如下。

原始 SQL 中关联的二张表（DocSecCategory，vars）没有连接条件。耗时 190s+ 。

![image001](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/sql/20241118SEPARATOR001.png)

对应的逻辑查询计划，走了 NESTED-LOOP JOIN 笛卡尔积，执行慢。

![image002](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/sql/20241118SEPARATOR002.png)

优化后，对包含分隔符的关联查询表，添加关联查询条件。

![image003](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/sql/20241118SEPARATOR003.png)

优化后的计划。

![image004](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/sql/20241118SEPARATOR004.png)

## 问题原因

查询语句中的表没有指定连接条件，会导致查询走笛卡尔积，从而产生大量的数据，执行慢。 笛卡尔积，即第一个表的每一行与另一个表的每一行进行组合输出，这通常会产生大量无用数据。

## 问题的风险及影响

未添加关联条件，SQL 执行慢。

## 影响租户

影响 OceanBase 数据库中的 SYS 租户和 Oracle 租户以及 MySQL 租户。

## 适用版本

OceanBase 数据库 V3.x、4.x 版本。

## 解决方法及规避方式

对查询涉及到的表添加关联条件。

上一篇

[执行 SQL 报 -6226 错误](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000209999)

下一篇

[Oracle 租户执行递归 CTE 报错：-4016，内部错误](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000210002) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
