书栈网 · BookStack 本次搜索耗时 0.055 秒,为您找到 7302 个相关结果.
  • 基于规则的查询改写

    子查询相关改写 视图合并 子查询展开 ANY/ALL 使用 MAX/MIN 改写 外联接消除 简化条件改写 HAVING 条件消除 等价关系推导 恒真/假消除 非 SPJ 的改写 冗余排序消除 LIMIT 下压 DISTINCT 消除 MIN/MAX 改写 基于规则的查询改写方式主要包括子查询相关改写、外联接消...
  • 子查询调优

    子查询调优 子查询背景介绍 openGauss对SubLink的优化 更多优化示例 子查询调优 子查询背景介绍 应用程序通过SQL语句来操作数据库时会使用大量的子查询,这种写法比直接对两个表做连接操作在结构上和思路上更清晰,尤其是在一些比较复杂的查询语句中,子查询有更完整、更独立的语义,会使SQL对业务逻辑的表达更清晰更容易理解,因...
  • DROP [GLOBAL|SESSION] BINDING

    DROP [GLOBAL|SESSION] BINDING 语法图 示例 MySQL 兼容性 另请参阅 DROP [GLOBAL|SESSION] BINDING DROP BINDING 语句用于删除指定的 SQL 绑定。绑定可用于将优化器 Hint 插入语句中,而无需更改底层查询。 BINDING 语句可以在 GLOBAL 或者 S...
  • 子查询

    在数据中,子查询可以分成有依赖关系的子查询和没有依赖关系的子查询。 有依赖关系的子查询是指该子查询的执行依赖了外部查询的“变量”,所以这种子查询通常会被计算多次。 没有依赖关系的子查询是指该子查询的执行不依赖外部查询的“变量”, 这种子查询一般只需要计算一次。 如下分别为没有依赖关系的子查询和有依赖关系的子查询的示例。 obclient > cr...
  • 基于代价的路径选择

    在基于规则的路径选择之后,如果存在多个可以选择的路径,那么 OceanBase 会按个计算每个路径的代价,并从中选择代价最小的路径作为最终选择的路径。OceanBase 的代价模型考虑了 CPU 代价(比如处理一个谓词的 cpu 开销)和 IO 代价(比如顺序和随机读取宏块和微块的代价),CPU 代价和 IO 代价最终相加得到一个总的代价。在 OceanB...
  • FOR UPDATE

    FOR UPDATE MULTI FOR UPDATE FOR UPDATE 算子用于对表中的数据进行加锁操作。 OceanBase 数据库支持的 FOR UPDATE 算子包括 FOR UPDATE 和 MULTI FOR UPDATE。 FOR UPDATE 算子执行查询的一般流程如下: 首先执行 SELECT 语句部分,获得查询结果集。...
  • FOR UPDATE

    FOR UPDATE MULTI FOR UPDATE FOR UPDATE 算子用于对表中的数据进行加锁操作。 OceanBase 数据库支持的 FOR UPDATE 算子包括 FOR UPDATE 和 MULTI FOR UPDATE。 FOR UPDATE 算子执行查询的一般流程如下: 首先执行 SELECT 语句部分,获得查询结果集。...
  • 分区裁剪

    一级分区裁剪的基本原理 二级分区裁剪的基本原理 当用户访问分区表时,往往只需要访问其中部分的分区,所以通过优化器避免访问无关分区的优化过程我们称之为分区裁剪((Partition Pruning)。分区裁剪是分区表提供的重要优化手段,通过分区的裁剪,SQL 的执行效率可以得到大幅度的提升。您可以利用分区裁剪的特性,在访问中加入定位分区的条件,避免访问无...
  • DROP [GLOBAL|SESSION] BINDING

    DROP [GLOBAL|SESSION] BINDING 语法图 示例 MySQL 兼容性 另请参阅 DROP [GLOBAL|SESSION] BINDING DROP BINDING 语句用于删除指定的 SQL 绑定。绑定可用于将优化器 Hint 插入语句中,而无需更改底层查询。 BINDING 语句可以在 GLOBAL 或者 S...
  • 连接算法

    Nested Loop Join Merge Join Hash Join 目前 OceanBase 支持 Nested Loop Join、Merge Join、Hash Join 三种不同的连接算法。Hash join 和 Merge join只适用于等值的连接条件,但是 Nested Loop Join 是用于任意的连接条件。 Neste...