00:00
给大家介绍一款工具,叫help。这个工具呢,是我前几个月用Python所写的。这个工具的作用呢,就是说嗯,可以帮助你去优化一些线上的慢。那么嗯,线上测控呢,呃,通常呢,是比较复杂写的。关键查询比较多。那么呢?你通过那种人工的去查询的话,可能会降低你的效率。那么呢,我们怎么去,如何去高效的去完成这些。琐碎性的那些的工作呢,那么这里呢,我是。嗯。嗯。嗯,把这个做成一个工具化。那么呢,就通过一种自动化的方式。来去那个来判断啊,你这个哪个字段要增加索引了。嗯。这个呢,就先给大家演示一下这个效果,那比如说啊。我这个就是一条慢搜索啊。
01:02
我输入输入完circleq以后呢,那么我通过判断这个执行计划,一个plan执行计划,那么我。啊,你看我这里是没有索引的啊,然后呢,我这个工具呢,就会来判断你哪个字段要那个添加索引。啊,那这里呢,我会给你打出一个建议来。嗯,这个就是给大家演示一下啊,这个就是一个我我一个外部接口,因为我这个工具呢,提供两个。一一个呢,就是命令行的方式啊,还有一个是一个是提供这个外部这个方式啊,有有两个啊。这里先给大家先看一眼这个成品。那么我这个工具呢。啊,是不支持这个SQ改写的,因为呃。近呃呃,近期呢,这个拆gpt比较火啊。所以可以说你可以把这些要改写的时候,直直接贴到那个拆的PPT上。
02:02
那样,嗯,更那个专业一些,那么我这个工艺呢,主要是来。做的事儿就是判断。条件字段是否要添加索引呢?这个呢,是具体的一个工作流程啊,主要就是通过。我这要解析这个SQL语法,嗯,通过这个SQL语法解析器。调的是一个拍的一个第三方库,然后呢,提炼出表名。呃,别名关键字的名啊,就这些。然后就这些,然后呢。嗯。嗯,如何去那个检测这个条这个字段是否要加索引呢,我这里呢,会默认呢,会采样啊,就会抽取10万条记录。然后检查这个基数。啊,那个基,呃基数的意思呢,就是说,嗯,就比如说我身份证吧。啊,我有100万行的数数,呃,我有100万行的数据,那么呢。
03:02
字段是身份证,那身份证是唯一的。那么那那么像。像身份证号那么一般。嗯,因为他没有重复嘛,所以说。啊添加,所以是最合适的这个基数,就其实像。啊,你可以理解为,呃,这个重复项有多少啊。如果呢,这个重复项超过半数啊。那么就不需要再创建索引了啊,就是这么个意思。那么呢?呃,我采样的数据呢,不会就是嗯,把你们的线上的数据,嗯拉到我这块来啊,这是不会的。啊,你可以看我这个源码,我我主要是通过这样的方式来采样了,就看这个。这个文件。啊,我通过我这给写好了,把注释都给写好了。嗯,主要是通过这条circle口来采样的。所以说呢,这里并不会把你你们线上数据拉到我这边来,所以说呢,呃,这块请请大家放心,这样是这块。
04:08
给大家先解释一下。嗯,剩下呢,就是这些这个一个介绍。感兴趣嗯,可以看一看啊,我们这里呢,先给大家演示一下这个怎么使用啊,首先呢,你需要把我这个工具给下载下来。首先赋予这个755可执行权限。嗯,我这里有两个文件。啊,一个呢是需要,呃,这个文件呢,就是你可以。呃,配置通过那个,嗯,雅面配置文件。来配合使用的,那我这你可把你把你们的信息填里头就行了。还有呢,这个呢,相当于就是。通过。输入啊,用用名密码IP命令行方式的啊。
05:03
这两个啊,就是这么个一个区别。那我这里呢,比如说我这里。就是写一个circle口啊,就这OK这个。粘下来。刚才那个影视的。你这么一回车。这里呢,就可以判断出来了啊,你看。我这个表都没有索引啊,你看这是。哦哦,对吧。那么我可以判断出来。啊,这里呢,你可以呢,呃,如果你们要是使用的话,你可以把你,嗯,你们在线上啊,就这块儿你连接你们那个存库。把你们生产那些慢SQL往里。啊,像像这样式的,你这么一粘啊,你可以。一行不够写,你就换行写啊,或者是你直接就是写到这个平台里头。啊,直接写在这个平台里头。
06:01
啊,这么一运行。啊,这嗯,这样。就比较。啊方便呢,你你去来看哪个字段要需要添加索引。啊,这个是命令行方式的。嗯,这个外部接口呢,我给你都放这儿了啊。基本上这个部署起来也很简单,你就按照我这里。看一眼这个怎么去安装部署就就可以了啊。这个相当于最我最终的一个,你看看那样子就是这样的。啊,到时候呢,大家呢,你你可以。啊,通过我这个反馈的结果。我这个所以优化反馈的结果,您可以对比一下,像其他的像美团的或者是小米的。啊,你自己参考一下,你看看哪个建议比较准。
07:03
这样呢,有一个对比,就类似于你去,嗯。用那个叉的gpt制的啊,你可以对比一下哪个比较准啊,这样的话有助于。啊,帮助你去更好的去创建索引。啊,那好,那那今天我就给大家演示到这儿了。
我来说两句