00:00
好,那接下来我们来看一下第五章查询,那首先呢是一些常用的基本查询配置。啊,我们经常可能要去做一个修改,就比如说第一个,呃,我们关于内存限制的修改,那么大家要注意,在be单个be来讲,它对于一个查询任务。它的限制是多少呢?是两个G。那么如果你发现使用过程中不够了,那其实第一步你应该想的是去优化你的circle啊,优化你的circle是不是效率太低了,或者说能够提前过滤,先过滤掉,那么第二一个呢,如果实在优化不动的,那你可以考虑将这个参数值调大一点。那如果。内存不够用,它就会报一个OM,就是内存超限了。那么大家注意,这个并不代表说一个be节点上使用的总内存啊,不是,它是对于一个be节点来讲的一个查询任务,一个查询任务,好,那我们先登进来看一眼。
01:01
MYSQL-U啊杠H对吧,啊,我是在MYSQL客户端装在了哈二我的。Fe,比如说我是连接master,是哈杜一啊,我要连他看大P。呃,9030-U啊,我先用test用户杠P好密码进来了,接下来呢,我们先查看一下这个变量。那么大家可以看到这里有一个什么执行内存限制。那是一长串,它的单位呢,是字节BAT。那我们简单数一下呗,除以1000啊,我们大概的看就行了,除以1000,那这是不是K啊。再除以1000,那就是兆。再除以1000,那就是G,哎,所以这个就是多少呢,两个G。好,那假设现在我就是要对它进行修改了,怎么改呢?你直接set就可以了。
02:02
啊,比如说set。那比如说我要把它改成八个G。啊,这个数。来粘过来,这个是不是就八个G啊,来你看啊,去掉1000,去掉1000去掉1000对吧,八个G好。回车,这时候我们再去受一下,可以看到这个参数值确实被修改过来,但是呢,这里要特别提醒,如果你简单的去set一个参数,这是绘画级别的变量,绘画级别生效啊。什么叫会话呢?也就是说我现在当前连接上了对吧,那就属于同一次会话,那如果我退出了本次客户端的连接,再重新进来,不好意思,你之前set的就没了,来我们给大家看一下效果,我退出。Past,这个时候我们直接瘦来看一眼,你看又变回去了吧。
03:01
来往上拉,我们刚才是不是已经改成八个G了,那你看我重新连接,相当于又开启了新的一个绘画,那就不生效了,那如果你想让它永久生效也可以,我们只需要加一个关键字,Global set global。Global呢,它就是代表永久生效啊,即使你会画断开再重新连接啊,那也没问题,来我们试一下啊,但是我现在执行肯定报错啊,一回车报什么错呢。权限问题。他说呢,要global设置必须有什么管理员的权限,那test的用户我并没有授予他管理员权限,那我们root用户是不是有啊,对吧,那所以我们现在直接退出啊,好切换成root用户。密码好,先show看一眼,你看现在还是两个G啊,那我来set一下G,这一次咱们使用的方式啊,改成八个G。
04:07
一回车。这个时候你再去售,你看这边要提醒大家啊,显示的还是什么,还是两个G,这是不生效吗?不是。啊,这不是啊,你你要退出当前会话,再重新连接,你就能看到效果了啊。你再怎么瘦并不是说有延迟啊,你等一会儿再去售都一样的啊,你现在就是退出再重新连接123456啊,现在收看一下到底是两个G还是八个G来,你看是不是确确实实改掉了,对吧?这一点是大家需要注意的啊,如果你用global去设置。有管理员权限的用户去设置完之后啊,啊,你记得要重连一下啊。那接下来我们是不是看一下对test的用户有没有用啊。
05:00
对吧,比如说我现在切换成test用户啊。我再来搜一下,你看是不是同样有效的。啊,这边就是给大家提醒一一些小细节啊,这是关于内存的设置,那具体啊,这个限制设为多大呢?那肯定要根据你实际的使用情况来讲的,对吧?啊肯定没有一个通用的啊,一般来讲默认的单个查询单节点单个查询两个G应该是差不多啊,不够你再调两个G,不够你设改四个G,四个G不够改八个G对吧。根据你的需要来吧,这是第一个参数啊,内存查询内存第二一个叫超时时间。因为我们不可能说让一个查询一直缓慢执行,缓慢执行,比如说我要执行好几个小时呢,那肯定不现实,那Doris呢,它默认最长的一个查询时间为300秒,也就是五分钟。那如果达到了这个时间,你这个查询任务就会直接被cancel掉啊,这个是要注意的一个小事情,那这个也是一个变量啊,叫查询超时,我们来看一眼。
06:12
受变量对吧,模糊查询一下,哎,你看默认值就是300单位也是秒啊,不是毫秒是秒,那同样的道理,这个参数呢,你根据需要来设啊,如果你确实说呃,阿群就是需要那么久,你优先要保证任务成功执行,那效率啊性能啥的先不考虑的话,呃,或者说资源很有限啊,资源就这么多了,没办法。可以放低一下这个查询延迟的要求,那也行,你可以把它尝试的增大,对吧,那如果你要求高点,是不是改反而减小。对吧,那我们这个也简单来set一下吧。比如说啊,我们把它改成60秒一分钟对吧,然后呢,受一下。
07:06
就改过来,但是当前是什么呢?呃,当前会话有效,我退出它进来就没了,同样的你是不是要用global对吧,这边我们就不再去重复操作了啊,大家明白这个意思就行。另外有一点就是他怎么知道。超时了。它其实是什么呢?它是每五秒检查一次啊,每五秒检查一次,所以如果你比如说你把超时时间设为四秒。或者说你你就极端点设为一秒钟。但实际的查询可能跑了四秒,他也不会触发这个超时,然后被取消,因为什么呢?它是每隔五秒检查一次有没有超时啊,这个也是一个小细节啊,所以大家如果真的遇到这种场景啊,要知道它背后是为什么。
我来说两句