00:07
之前讲过MY查看my soql导入进度的方法,这里讲一下my circleq如何并发导入数据。我们先来看一下买搜QL大导出的点搜文件的格式,最开始是客户端信息,服务端信息,比如说版本之类的,然后是字符集相关的设置,然后是circle log b,就是表明你这个要不要写。诺。一般是0不行,然后是g tad设置,嗯,8.0的话是放在前面的,5.7的话会放在结尾,然后是前期master语句,当然这些你得加参数才有。然后是数据库的建表语句,插入数据触发器和视图,然后是视图的呃,然后是其他数据库的event。
01:01
Function之类的。最后又是数据库的无语。我们知道这个格式之后的话,我们就可以匹配关键词了,买circle的话,它买so,大打出来时候,它都有很多关键词,比如说这是g tad的,就是前master的,就是建库的,建表的,Insert的都有,就每一个都有,就可以根据这些关键词来做相应的过滤,相应的过滤。并发导入原理的话就比较简单了,我们把上面的搜口文件拆分为多个,然后一起导入就可以,但是我们可以按照顺序来,上面的顺序来导入,就只有。建库建表的时候,我们可以开多个并发,其他的是没必要,这些是没必要开多个并发的。哎,直接看吧。
02:01
用法也比较简单,这是用Python写的。我脚本的话,我找一下啊,叫这个直脚本,我们可以开始先看一下,当然我们可以。只固定出指定的库表信息,那我们这里就不那样做了,我们就直接拆分我们的文件吧,这是我刚才导出的数据。我们直接拆分就可以了,嗯,花了1.35秒的时间,你看一下多大来着。呃,一个G1.35秒,拆分完了,这速度还算可以,表的话有138张表,导出的路径是在这里,我们看一下长啥样子吧。放数据库的,放event的,放存储过程函数的,放视图的,我们比如说看一下数据库吧,数据库的话,我这里只有两个库,就是我自己的库,测试库和一个MYS系统库,这些的话是建表建库语句,我们看一下内容吧。
03:12
啊,因为我这里只有两个股,一个买口,一个DB,所以这里就只有这么点,比如说还有GTD的,我们都可以看一下。比如说自己太低了。还有那个主从的那一个master,这个默认是不会做导入的,即使你master你没有写为2,我也会。我导入的时候也不会去把它导入,因为没啥意义。还有这一个比较特殊的东西。嗯,这个是统计信息,8.0的话,它没有drop cable.只有insert这两个统计信息表,所以我是单独把它拆分出来的,如果是5.7的话,就是普通的表。
04:02
这个需要注意一下。哎,我看一下陆军在哪来着,就是DBS,呃,还有疑问词的话就按汇本来做的这个没啥说的,还有只不过是还是这点,队友也有试徒师徒我这里没有见。哎,没见你没有见吧。不要在那些细节了,呃,用吹来看一下结构吧,可能看起来比较好看一点。比如说顶维修1万次这些就那些买时上面的表就是那些,呃,我的测试表。现在我们拆是拆分完了,花了一秒钟,我们现在来导入数据,导入数据的话,我们得用一个被写有脚本,我们看用法吧,当然都是导出的用法,我们已经试过了,我们再来看一下导入这脚本,跟上我们刚才这一个目录就可以导入,但是我们得先改一下这个脚本里面的信息。
05:14
这脚本长长长啥样的人?啊,说错了,这个脚本,这脚本叫这个名字的脚本,我还没有上传,我重新传我复制一下吧,这是因为这上面也放了脚本的。呃。哦,这是拆分脚本。我看一下有没有哦,并发导入脚本复制一下吧,我忘了写,这就比较尴尬。忘了传,复制一下吧。
06:02
主要要改,比如说并发这里是4个,我们不改吧。嗯,就是这个,就是每隔多少秒显示一次,这个我们的也就可以了。也不管,我们主要改一下这个连接信息,嗯,其实我这里就只有端口要改。其他的没有了,我们就跑吧,看一下用。看一下这个用法,这这刚才脚本我已经忘了,切屏这个去找吧,反正到时候博客我也会放出来的,我找一下导入命令啊。呃,其实我们导入之前的话,我们可以先做一个校验。就前后数据对比一下,证明我们这个脚本。
07:01
确实导进去是可以的。我先校验一下吧,这校验可能会比较费时间。没时间,时间吧,没有人。这个端口是好像是3206。我们先校验一下吧。诶,这个还是比较快。我看一下这这个结果,结果是没有问题的。这导入之后的焦点我们先补充,我们先来导入吧,我们刚才看的是4个并发。对,并发写的是4个,我们就直接打吧,我们这个名字叫啥来着。这,这又忘了截屏,嗯,重新来过吧。就校验的话,就是这个就可以教研。
08:03
就负责主要是改一下端口,有的环境改下外,你自己环境的话,可能IP端口账号密码都得改。这我们就可以直接做投做导入了。直接打吧。呃,检测到这个存储引擎版本O,因为这个版本没有判断,我脚本里面判断逻辑是只要有。MYSM存储引擎被禁了,那我就会报错,不应该是这样做的,我应该先判断版本的,但是这个不影响我们改一下脚本就可以。比如存储引擎,如果是1的话,我们就不检测了,你再继续吧,这个主要是防止错误。开打了,等他打吧。这都挺快的,但是我们忘了计时啊,知道。
09:02
哎,忘了祭祀。看起来是挺快的,都得到70多了。几把都是几秒钟打完,因为我这个数据量本身就比较小。开始打完了。有一个A是GD没有导进去,因为我们GTD的话,数据库里面是有GTD的,所以这个GTD导不进去是正常的,你们可以不用管,当然你也可以看一下这个。GTA这个是跑不了的,因为我们环境里面已经有了,除非你跑一下,但是我们这里就不需要跑了。
10:01
现在我们再来校验一下。之后的。只要保证我们导入的数据确实没有问题。然后我们在地比较一下这两个文件。呃,刚才那个应该是叫B。文件是一致的,表明我们导入数据是没有问题的。哎,兵发导入差不多就这么多,但是我们忘了计时,我们重新跑一个计时的吧。能掌握数据。我们。拆分的话是花了一秒多,我们再看一下这个导入花多久,然后我们再直接导入看一下花多久,对比一下时间。
11:08
如果没有那种很大的表的话,这个时间差距是。可能接近3~4倍,但是如果你有大表的话,可能就不是那么明显,可能提升百分之二三十都比较极限。如果你大表比较多的话,那提升还是很明显的。花了33秒,33秒加上刚才的1.3秒,差不多就是35秒吧,我们再直接导入一下,看花多久。咱们的苦九百度叫好门一样的,叫个time,不看时间,呃,GD没有破91MASTER吧。
12:06
自己话题,如果你有主充的话,就注意一下,你别直接就接头了。这个时间主要这个也看不到进度啊哦,我们之前有个导入进度查看脚本,我们跑一下吧。啊,我这边窗户推了半有影响,这速度还显然就比刚才慢多了,还有30多秒,基本上啊一半差不多比之前慢了一比那个4B方慢了一倍,慢了一半。
13:00
哦,没有慢到一半吧,我们刚才多少来着,35秒。刚才35秒,这个等他跑完马看要花多久。所以这个脚本组合起来用还是挺好用的。就一边倒一边一边看进度。其实不光有这个可以看进度,就是那种嗯,比如太极啊之类的都是能看进度的。找完了,我们这边确认一下花了1分29秒,我们刚才那一刻花了33加一点五三十五秒,差不多快了接近一分钟,也就时间的话是它的1/3左右。相对还是不错的。有兴趣的话自己去试一试,脚本的话我放在评论区了。
我来说两句