00:00
据来说一道这个面试题啊。这个就是说这个10亿数据啊,怎么导入这个MYSQL里。这个之前呢,其实是那个地背的题啊,只不过现在这个Java这个行业太卷了。嗯,所以说呢,如果你要是Java的话,嗯,你也是有必要了解一下啊。这个这个题啊,这个面试题。那正确答案呢,就是你用这个load day的这个命令。这个load day的这个命令呢,是比这个音四的这个命令呢,要快很多啊,不信你你可以试一下啊,你就你你可以感受一下这个速度。啊,因为这个load date呢,相当于就是跳过了词库解析。然后呢,直接就把这个,呃,你这个文件,这也就是CSV这个文件导入到你这个数据库里头。啊,就是这就是因为这个两者的区别就是这个,因为这个insert into呢,你需要经过这个服务服务层,呃,去那个解析那个circle嘛,所以说在逐条插入这个效率肯定是不如这个load date的。
01:05
啊,这个如果你要是地杯的话,你肯定就懂这个东西。那这里呢?这个load day的话啊,因为是这个一条命令,它是这个单。它的这个单线程,那么就是说怎么能让这个load data的再快一点呢?其实这个这就是我们这节课给大家介绍的啊,我们是用这个买当。啊,来做这个多线程。呃,去那个导入导出和导入。啊。我们来看一眼啊,咱们这个是怎么实现的,这就是这堂课的主要内容。啊,首先呢,你到这个官网上。啊,这个官网上你下载一个最新版啊,就是这个。你你把这个下载好了一装,因为它是RRPM的嘛,你直接按一下就可以了啊,你就找到这个买当。啊,就这个网站啊。啊,然后你给它下载下来。
02:01
然后呢,我这里呢,是有1000万的表啊,1000万行的这一张表啊,我们现在就对他来做这个操作。我给你看一眼这个效果啊。这1000万啊,我现在是。我我并发八个线程啊,我给他开到16个线程,你看一眼这个效果啊。这是导出,导出这个格式是CSV,也就是TST。这个文本样式啊,然后然后呢,这个就是Rose呢,相当于就是每隔10万行一。啊,一做那个拆分。然后我们并行16个县城跑一下走。你看这个速度啊,这是1000万啊,非常非踌吧。然后呢,我们来看一下它的这个格式啊。我们随便打一条啊,你看一眼这是。这就是CSV格式。你看就是这样的啊,CV以逗号分割。然后呢,现在呢,我们来模拟一下怎么快速导入数据库啊,我们首先把这张表给删了。
03:09
啊,然后呢,我们通过这个命令来往里找啊,就是买load。你指定那个socket套接字。啊好,然后呢,杠V3-B哪个库呢,就是太字库。然后呢,藏欧呢,是指向这个。然后呢,我们玩只要是玩了一回车就可以了。嗯,这里县城呢,也给改一下吧,改成也是也16个县城。嗯。
04:00
耕地。嗯,到时候我们来看一眼这个时间啊,这是1000万行的数数据。现在这个数据导导完了。我们看一眼啊。刚才呢,我们创建16个线程是09:01。然后我们都完成以后是09:16,相当于是15分钟嘛,把这个1000万的数据就导完了啊,然后呢,它的原理就刚才我们说了,你看刚才我是用那个show process list看了一眼。就是调用这个load day的这个,所以说这个load day的这个命令。是非常非常的。啊,所以说今后你要面试呢,你跟面试官说啊,用这个load load。使用方式是比较快的,如果是用那个呃,多线程的话,你你就用。就现在咱们,我看我现在给你演示那个叫买当,或者还有是my load。
05:03
就是这个。这是一个是这是买啊。然后呢,这个是。啊买当就用这两个命令可以实现这个。Load,这是多线程,因为这个默认是一个线程嘛,再跑,那么我们通过这个命令可以封装,封装起来,这个命令呢,你可以指定这个线程数啊,一般的话根据你这个CPU核数。啊,这里我是指定16克,所以说这个。导入和导出的速度是非踌的。那么我今天呢,给。就是解呃给大家呃介绍一下呃,这个面试题的这个答案。
我来说两句