【活动】第七期直播教程学习笔记分享贴

活动时间 :

20212年 1 月 26 日 - 2022年 1 月 31 日

活动期间,可以在评论区中留言,分享你观看教程直播第七期——如何对 OceanBase 进行SQL 诊断和调优中遇到的问题、收获、学习笔记或心得。

学习资料参考:

“文档中心”-“入门教程”:

https://open.oceanbase.com/docs/tutorials/quickstart/V1.0.0/chapter-1-overview-of-the-oceanbase-database

“视频中心”:

https://open.oceanbase.com/docs/videoCenter

“视频回放合集”:

https://open.oceanbase.com/blog/10900164?currentPage=1

OceanBase 社区版入门到实战教程直播正在进行中~

快来一起学习、拿 OBCP 模拟实验券 & 考试 2.5 折的入场券啦~

加入教程直播群方式一:

钉钉群号 3582 515

加入教程直播群方式二:

扫码下方二维码加入

问卷反馈填写地址:

1 个赞

为什么执行计划和select 关键字大小写还有关系,就是演示中的最后一个也不共享执行计划


求分享ppt

会有回放视频哈~

Ob能不能自定义trace,比如只记录某个库的sql或者某个账号的或者某个指标大于阈值的这样

可以关注我们的视频回放链接:https://open.oceanbase.com/blog/10900164?currentPage=1

估计是为了方便比较两条 SQL。因为标识符需要区分大小写,关键字不需要区分大小写,要区分标识符和关键字还需要 parser 一下,现在直接比较俩字符串就好了。

请问义博老师还是单身吗?

我来帮你问下!

1.错误的执行计划.数据不均衡情况下如何获取相对准确的执行计划(根据页数据分布预估? 数据倾斜).

2.缓存错误的执行计划打爆服务器,服务器负载升高,有没有什么办法避免.

3.audit没有单条sql单次cpu,io消耗信息统计,返回行数,全量sql分析.只有xxx_time,不区分cpu和io耗时? 

4.慢查询日志有没有分析工具(类似MySQL pt)

5.传统表和分区表(partition),传统表底层会有没有分片处理,未partition大表会不会有压力.

2 个赞

6.nested loop条件下压,几种join(nested-loop较多?,hash,merge场景较少)分别适用场景(和MySQL/SQLserever类似?),hash join使用过多内存消耗会不会较大,驱动表的选择

查询计划的的详细内容:output,access还不是很明白

为什么 plan_cache_plan_explain 表查询数据时需要输入四个参数,请问是出于什么设计思想?

1 个赞

outline能做限流是吧,能介绍一下怎么写关键字吗?

没听懂query range是什么。。。

看回放吧……

关键字不区分大小写,但是标识符是要区分大小写的吧?

能手动对一个表做统计更新吗?我记得不能啊😱

当HINT中仅有MAX_CONCURRENT时,create outline语句仅会创建限流规则,不会创建执行计划。例如:

OceanBase (root@oceanbase)> create outline ol_1 on select /*+max_concurrent(1)*/ * from t2 where c1 = 1 and c2 = ?;

在Force模式下,OB判断两条SQL能否共享计划会首先比较SQL参数化后的SQL文本。这个比较是按字节去比较的,因此会区分大小写。在计划匹配是否区分大小写这一点上,OB与Oracle采用的策略是相同的,即需要区分SQL中的大小写。因为在我们平时使用数据库的时候,SQL都是应用程序发过来的,而应用程序产生的SQL通常不会出现大小写不断变化的情况,所以在实际应用中,区分大小写并不会导致计划命中了不高。


目前 OB 是不能自定义 trace 的,如果开启了 SQL audit,所有的 SQL 执行记录都会记录。目前 OCP 中会记录很多 SQL 的历史执行记录,如果想要查看某些具有特定指标的 SQL 的执行记录,可以尝试在 OCP 中筛选一下。