从优化达梦执行计划输出,谈产品交互

近期,从优出谈产品开始尝试做些国产数据库的化达划输评测工作,特别是梦执与SQL相关的,也输出几篇文章。行计在这一过程中,交互对国产数据库使用感觉还是从优出谈产品存在不小优化空间。这里以达梦数据库的化达划输执行计划输出为例,谈谈自己对产品交互优化的梦执一些看法。
1. 达梦数据库计划输出及优化
(1)达梦执行计划现状作为DBA最常用的行计功能,了解SQL语句的交互执行计划很重要。达梦数据库可通过多种方式来查看,从优出谈产品常用的化达划输就是Explain命令。坦白讲,梦执第一次看到达梦数据库的行计执行计划,是交互让我感到比较郁闷的,因为它与其他数据库的执行计划还是存在很大差别。如下图,就是一条简单的网站模板执行计划示例。

当看到这一输出结果,在不参考文档的情况下,有很多是不太理解的。
没有标题栏,每部分内容不知含义,如方括号中一串数字有操作符部分,但只看名称部分勉强能猜出来,有的完全猜不出操作符后面应该是每种操作符的参数,操作符不同参数而已,各参数还有输入值等整体缩进式结构,应该跟其他数据库类似,可反应操作符执行顺序达梦也有其他图形化工具,情况会好一些。如在达梦最近推出的SQLark百灵中,通过分栏显示清晰了很多,当然还是存在不知含义等问题。

于是,只能借助达梦文档,来回查看操作符含义、参数含义等等。如下图是达梦官方提供的执行计划操作文档,免费信息发布网写的还是挺清楚的。当然,往复切换查看文档和执行计划的过程还是令人不悦,是不是能有更好的一些方法呢...

有了上面这些问题,自己还是想动手尝试改变下。近几年动手少了,赶鸭子上架拿 Python 试着改造下。这里面突出有几个问题想要优化下:一是输出格式的问题,可能多年受Oracle、MySQL的影响,还是觉得表格形式的比较习惯;二是对操作符不熟悉,因此最好能一屏显示执行计划及对应操作符的含义,方便上下对照来看;三是执行计划还会受到如统计信息、内核参数等影响,有可能都显示出来。好了,WordPress模板有了需求可以动手了...
首先,第一个问题就是搞环境,开始以为很简单的事。用Docker起了个达梦实例,然后在本地装Python连达梦库。之前用cx_Oracle、MySQLdb、PyMySQL连接Oracle、MySQL都是很简单,但参照达梦官方文档使用Python连接,遇到了一堆的问题;前后试了一小时,放弃...选择用比较挫的方式,直接程序中调用达梦DiSQL命令行工具方式。然后,就是如何将达梦的知识库(执行计划操作符含义)与程序产生互动。达梦的官方文档不错,写了个简单的爬虫将信息导出,存储在程序中作为元信息使用;剩下就是做些字符串处理,规格化一下。第三,就是字符终端输出,这个有点基础调用现成包就可以。于是有了下面这个小原型。

调用后输出结果如下:

头部是一些数据库、用户、语句信息,中间部分是表格化的执行计划和遇到的操作符及参数含义说明,后面是语句中使用到的表及索引的统计信息情况,整体感觉舒服了很多。换一个复杂点的例子。

2. 产品交互优化的几点看法
通过上面优化的小例子,其实也反应出在产品交互上、功能设计上值得关注的几点。
(1)选择用户“最熟悉”方式了解、熟悉一款产品代价是挺高的,作为基础软件的数据库更是如此。如何让用户快速了解、上手你的产品是很关键的。曾跟某国产数据库厂商聊天,对方谈到自己是可以全方位对标某国际大厂数据库的,那么让用户快速了解你就很简单了。我的建议就是列一个表格,将两个数据库从设计、开发、运维等多角度分列出来,然后再细分子项逐一对比。用户可以从中很快速地了解你的产品能做什么、能做到什么程度。上面是从大的方面来看,那小的方面也是如此。如本文谈到的执行计划输出,就可以以一种人们更为熟悉的方式来交互。例如 Oracle 的执行计划输出,就给我们立了一个很好的标杆,特别是其内部包含的丰富信息,可以极大方便 DBA 的日常工作。当一名 Oracle DBA 转型时,就感到很舒适,之前的很多积累还可以复用。
(2)知道用户“最需要”什么作为一名产品经理,了解用户最需要什么是基础;但就是这个最基础的问题,往往没有得到足够的关注。有时产品的很多功能是产品经理意淫出来的,而用户最朴素的基础想法并没有得到关注。这就需要产品经理真正是站在客户的角度、站在用户一线,才能观察体会出来。最直接的方式就是当一天的“客户”,使用自己的产品干干一线工作,然后就能理解用户的吐槽了。近些年我也会参与到不少厂商的评测工作,经常会发现交互性的问题,对方感到很诧异时,我只能苦笑道“没当过DBA吧”。举个小例子,你了解一款数据库的备份功能,你会考虑哪些问题:物理备份、逻辑备份怎么做?如何做增量备份?如何查看备份集?如何查看备份进度?失败了怎么办,等等不一而足。这些都是来自一线工作中会遇到的。上例中,我最需要的就是快速理解操作符含义,通过帮助形式就可以方便理解。
(3)引导用户“需关注”什么除了用户需要什么之外,作为对产品更为了解的一方,产品还应有意识地提供更多更有价值的内容,方便用户对这个功能的理解和使用。用户初次接触产品,很难对产品有全面的了解,知道往往都是片面的一些点,如果通过功能构建将功能关联起来,让用户有意识地去关注,往往会取的不错的效果。这相当于把一个一个的知识点,连接成一张网,让用户有了更为全面的理解。如上面例子中,显示执行计划是用户的初衷,但其本质的需求是理解为什么SQL走了这样的执行计划,那么可能影响、改变执行计划的因素都应该是用户需要了解的。例如:统计信息是不是完整的?数据是不是有倾斜?使用绑定变量了吗?等等,这些问题都是需要用户关注的。
相关文章
电脑磁盘显示错误的原因及解决方法(探究电脑磁盘显示错误的常见原因及如何解决)
摘要:随着电脑使用的普及,许多人在使用电脑过程中可能会遇到磁盘显示错误的问题。这些错误会导致文件读取困难、操作系统无法启动等严重后果。本文将探究一些常见的电脑磁盘显示错误原因,以及提供一...2025-11-04魅族MX3WiFi信号表现如何?(探究魅族MX3WiFi信号强度及稳定性)
摘要:随着无线网络的普及和使用需求的增加,WiFi信号的质量对于手机用户而言变得越来越重要。本文将就魅族MX3手机的WiFi信号进行调查研究,从信号强度和稳定性两个方面进行评估。...2025-11-04大白菜pe制作工具教程(教你如何使用大白菜pe制作工具,快速实现创意想法)
摘要:在如今数字化的时代,创作工具的选择变得非常重要。大白菜pe制作工具是一款功能强大、易于操作的工具,它能帮助用户快速实现创意想法,让创作过程更加轻松愉快。本文将详细介绍大白菜pe制作...2025-11-04如何通过TP-Link重置密码来提高网络安全性(简单步骤让您轻松设置TP-Link密码)
摘要:在当今数字时代,网络安全成为人们越来越关注的问题。设置一个强密码是保护网络免受黑客和其他不法分子侵犯的重要一步。本文将向您介绍如何通过TP-Link重置密码来提高您的网络安全性。...2025-11-04利用灯泡测试教程,轻松了解电脑的工作原理(通过灯泡测试教程,揭秘电脑内部的神秘世界)
摘要:在数字时代的今天,电脑已经成为我们生活中不可或缺的一部分。然而,对于普通用户来说,电脑的内部结构和工作原理可能依然充满了神秘感。本文将介绍一种简单且有趣的方法——灯泡测试教程,通过...2025-11-04海尔LE48AL88U51——超高清电视的终极选择(震撼画质、智能互联,让您尽享家庭影音乐趣)
摘要:随着科技的不断进步,电视已经成为家庭娱乐中不可或缺的一部分。而在众多品牌中,海尔LE48AL88U51以其出色的画质表现和智能互联功能,成为了超高清电视的终极选择。一、震撼...2025-11-04

最新评论