性能优化
文章平均质量分 81
Kingbase 研究院
这个作者很懒,什么都没留下…
展开
-
KingbaseES CTID 与 Oracle ROWID
熟悉oracle的人都知道ROWID可用于快速的数据访问,KingbaseES 由于自身MVCC机制的原因,ctid 作为 oracle rowid 的替代方案不合适,但currtid 还是基本可以满足rowid 的功能的。本文向大家介绍如何通过currtid 实现rowid 的功能。一、Oracle ROWIDOracle ROWID 记录了tuple的物理存储位置,通过ROWID可以非常...原创 2022-04-26 18:37:00 · 1121 阅读 · 0 评论 -
KingbaseES 绑定变量窥探机制
概述:对于数据严重倾斜的,极端如以下例子,不同的传入值,可能执行计划不同,制定执行计划时,就要求知道变量的值。对于绑定变量的情况,我们知道Oracle 有_optim_peek_user_binds 参数,控制是否启用变量窥探。KingbaseES 也有类似参数,控制是否启用变量窥探。窥探机制KingbaseES 采用以下判断机制,决定是否固定执行计划: 前5次执行时,每次都会根据实际传入的实际绑定变量新生成执行计划进行执行,即每次都是硬解析,同时会记录这5次的执行计划; 当第.原创 2022-04-26 17:48:00 · 1355 阅读 · 0 评论 -
一次复杂的SQL优化过程
一、背景这个复杂的查询SQL语句,已经进行语法优化,写入应用程序中,且不希望修改代码,实现执行速度大幅度提升。查询语句中,使用了用户自定义函数,多个视图嵌套,代码逻辑复杂,运行时长过长。分析方向,基于查询计划,定位耗时较多的节点,通过改变调用对象,实现优化查询性能。二、查询语句,优化前后的计划SQL语句如下:analyse;explain (analyse ,buffers ,verbose ,costs ,timing )with t as (select.原创 2022-04-11 08:17:32 · 5273 阅读 · 0 评论 -
KingbaseES leading hint 使用
【本文正在参与炫“库”行动-人大金仓有奖征文】活动链接:https://marketing.csdn.net/p/98bd30353e7cb998b6070a89e8b91edbOracle hint -- leading 的作用是提示优化器某张表先访问,可以指定一张或多张表,当指定多张表时,表示按指定的顺序访问这几张表。而 KingbaseES leading hint的功能与oracle不同,leading 后面必须跟两张或多张表,如果是两张,表示这两张表先进行连接,但两张表的访问顺序不定。如果原创 2021-10-12 19:26:24 · 922 阅读 · 0 评论 -
KingbaseES 数据库并行查询
炫“库”行动-人大金仓有奖征文-KingbaseES数据库并行查询背景:随着硬件技术的提升,磁盘的IO能力及CPU的运算能力都得到了极大的增强,如何充分利用硬件资源为运算加速,是数据库设计过程中必须考虑的问题。数据库是IO和CPU密集型的软件,大规模的数据访问需要大量的IO,大数据量的连接操作需要大量的CPU运算。并行查询可以通过在数据的读和计算上,通过把Join、聚合、排序等操作分解成多个子任务实现并行。一、并行查询功能在讲述并行前,我们先来看个并行的执行计划:本例启动了4个worker...原创 2021-10-04 10:00:11 · 1514 阅读 · 0 评论