00:00
看一下我们之前说的几个练习,其实这几个练习都是非常非常的简单的几个练习啊,也是目的是让我们对这个东西做了一个这个熟悉的一个操作,那关于mango DB的话,其实我们对我们来说操作起来要求不是那么高,基本的增删改查,然后这个基本用法归用就OK了,所以我们来把这几个练习来看一下,我们先看这前面这几个,这来先打开我们客户端,然后点击这个加号连接到我们数据库,然后点击,诶,我们这是T对吧,咱们这样吧,先打开它,它好像还有要求是吧,点开我这个命令行窗口,然后把这些都粘过来。这过来咱们从上边开始看第一个功能让我干嘛呢?让我进入买PA的这个数据库,哎,那这是不是就非常简单了,怎么进入又子MY_一个test,然后这块F6已执行,是不是现在就已经进入了,但是有没有这数据库,哎,没有,设了一个DBS,你们来看直接一执行,是不是现在只有log,还有我们这个test my test还ma有呢,我们说它是在我们第一次创建文档的时候,是不是创建呀?诶好,然后在这我们来让我干嘛呢?向数据库user集合中插入一个文档userr,你叫什么呀?
01:21
用户啊,就是集合,像一个这个集合中插入一个文档,那这个文档我们怎么写,那这块注意我直接来一个,来什么呢?DB点什么UR集合呀,点一个UR啊,点1UR,那这块其实我写UR也没有什么问题,但是我们开发中有一个习惯,什么习惯呢?因为我们集合里放的是文档对吧,文档,那所以它里边是不是一般会有多个文档啊,所以集合的名字我们一般是复数,所以我应该写个什么呀,Users,但这不是强制要求,你说我就写个user有没有问题呀,没有问题啊,没有问题就跟我们平时创建数组,数组我们是不是习惯也叫负数啊,所以这块啊,Users点一个这个插入一个文档,我们叫一个insert,或者写insert one是不是也行啊,啊,我统一叫insert insert里边我来写个什么呢?我来写一个文档,文档中简单点吧,既然是user集合,我就来一个username username来一个这个孙悟空,诶,就直接写英文吧。
02:21
孙悟空啊,拼是吧,拼好,然后选中它,我们这一执行来看,现在插入几个,哎,插入一个啊插入一个,然后我们来看一下,那现在我直接来一个show,一个DBS,我们来看看有没有直接my test是不是也有了,包括如果你是show collections1直行是不是user也有了,哎,那我们来看看结果DB点一个这个,哎,咱们往下看这边是不是写了,然后干嘛呀,让我查询user集合中的一个文档啊,集合中的文档你怎么办呀?DB点一个users,点一个find啊点一个find,它跟那个remove不一样,Remove这必须得传个条件,对吧,犯的时候你可以不传,你不传跟传个空的是一样啊,是一样的,在这儿一直行一看,咱们看到我们这个表格的适度,一看里边有几个,是不是就一个呀,哎,是有一个孙悟空啊,一个孙悟空,然后再往下看,诶又来事儿了,叫什么呀?哎,他这是他这个是吧,能不能再来一遍呀,哎让。
03:21
我们向优端中插入一个文档来,我再插入一个,那其实就把这个再执行一遍,对吧,改个名改成谁呢?猪八戒猪八戒,然后在这我们再执行一下走,你是不是又插出一个,哎,又查一个,哎呀又查是吧?这这太弱智了啊,哎,这谁出的题是吧?一执行咱们来看是不是抓八戒进来了,现在我们集合中就有两文档,一个是孙悟空,还有一个是猪八戒啊猪八戒好,然后让我干嘛,统计我们yo集合中文档的数量,这样怎么办?哎,DB点一个users,点一个fund,然后点一个什么样,哎,Com,然后在这儿一直行走,是不是就就两个呀,哎,就两个好,然后下边一个第七个就更简单了,在查询数据库user集合中,Username为孙悟空的文档怎么办?DB.users点一个find,我这边传条件呀,条件就是user。
04:21
过直是孙悟空啊,直是孙悟空,然后在这儿一直行,是不是就找到孙悟空了,猪八戒准备出来了,所以在这儿可以传一个这个条件啊,创新的条件,然后呢,再往下看,下边是诶让我向user集合中user name为孙悟空的文档中添加一个address属性地址对吧,属性值是花果山,那这要怎么办?那这块先说调哪个方法,哎,Update DB点一个user,点一个阿PA date,那我是不是得先得找到孙悟空啊,找到孙悟空来一个U的name孙悟空哎,他要干嘛把说A的拽的属性是变成这个花果山呀,哎,那我一想这么玩吧,行不行,多个S是吧,不是那个事是吧?哎,哪的事,哎,我都没理解什么结果啊哎。
05:21
孙悟空没了,就变出这了花花山了,我现在要干嘛?我是要给他添加一个花花山吗?哎,我应该用什么?哎,是不是用我那个修改修改器啊,哎,修改器修改的操作符怎么改,我需要来一个Dollar side,然后冒号跟着一个什么呀,大号再写一个什么呀,我address花号开,这样它只是添加这么一个属性,而对其他的属性会不会有影响,不会有影响啊,不影响,来这块选中一执行是不是匹配到了一个,修改了一个啊,修改一个,然后我们再来看看孙悟空变变。
06:01
一直行,你看username,孙悟空a address是不是花火柴,哎呀花火山,这就完事了啊,就完事了,非常简单啊,这一个赛那同学可能会说了,老师这东西我记不住啊,我感觉这用法很反人类是吧,记不住怎么办?这东西不用你记,我告诉你,你等你们再往后学,真正到工作用的时候,你肯定忘了,你肯定记不住,就是说白了,你可能11回来你就已经忘了,这是肯定的啊,肯定的,因为你不常用,肯定会忘,尤其是像这种东西,它属于什么了,后台的了,你们以后到工作里边去操作芒果DB,去操作数据库的,记上来呀,会非常少,你要操写个服务器,还有可能服务器写,写个路由啊什么的,还有可能,但是操作数据库机会会非常少,那这时候你肯定会忘,忘了怎么办,看文档啊,看文档第一个地方,你说找的话,我们来看我给你们发的课件里边,诶有一个我费尽千辛万苦找到们的一个这么一个文档,这么一个PDF是吧,我都不知道我从哪找来的是吧,现在让我找都找不着了啊这么一个东。
07:01
你那这个里边非常简单,它里边写的都是一些什么呀,例子,比如说你想用一个这个修改修改器去修改一个属性,但这个时候你不知道怎么用了,但是你大概能想起来它是什么呀,叫Dollar side,或者说你说我连Dollar side都想不起来了,但是你是不是还能记得它是修改的方法呀,那怎么办呀,直接往下找,是不是有一个updates呀,Update它的好,这个文档的好处,它后边都是什么呀,都是例子,它后边都是例子,比如说你set忘了怎么用了,你看这。这是不是有size呀,模仿会模仿吧,人家设置A,你设置什么呀,我dress人家值是五,你是花火山,是不是一改就行了呀,所以在这儿啊,如果实在忘了以后基基本上肯定会忘的,对吧?直接参考一下文档一定要会用什么呀,文档啊,一定要会用文档好,这是我们说的一个side,然后再往下看,下边让我们干嘛了?诶让我使用username为唐僧的替换user name为猪八戒的,那首先是不是还是确定方法呀,是不是还是用这update呀,那这样我们这个replace没试过是吧,咱们来用一下,但是其实这个完全可以啊,Users点一个re replace one是不是替换一个呀?首先我传一个条件,条件叫做username,谁呀谁呀,猪八戒吧,哎,猪八戒我是唐僧,是换猪八戒了吧,我得先找到猪八戒啊,猪。
08:33
八戒,然后再来一个逗号,来一个username,来一个这个唐僧,那是不是就等于用唐僧去替换猪八戒来选中他,我们这一执行,诶替换了什么呀,修改了一个了,哎,修改一个,然后我们在这儿再查询一下,所有的一查询来看猪八戒是不是没了啊,换成了唐僧啊,换成唐僧这叫做一个re replace外,其实这有阿戒的完全可以啊,完全可以演示一下示方法,然后再往下说,诶。
09:04
要干嘛了,就是吃饱撑的是吧,刚加进去要让给老给删了,删除username为孙悟空文档的这个,呃,Address属性,先说我这个应该调哪个方法,诶还是update,注意我要删除的是那个属性,我不是删除文档,我要删文档,我是不是用remove delete one between many,而我现在是要删属性,这还属于什么呀,修改,所以在这还是users点一个阿PA date update,我老想想那先找谁呀?哎,找孙悟空啊,孙悟空直接先username是孙悟空的,然后让我删除它这个属性用谁?哎,是不是用我们那天说的叫做一个ET呀,哎,Unset叫什么呀?Remove一个A这个字段从这个文档中啊,File叫字段的意思,就是属性的意思啊,就属性从A这从这个文档里把A这个属性是不是给删了呀?
10:04
所以在这我们要用的什么呢?哎,咱们是不是演示过这玩意儿是吧?哎,包一个a set,然后冒号来一什么呀,来一个a the dress,注意这个时候我们只是想删除这个属性,跟值有没有关系啊,没有关系,所以后边随便写一个就OK了啊,随便写一个,然后在这儿我来选中这一执行来看是不是也是修改了一个呀,哎,修改了一个我们再查询。这一查询,我们来看孙悟空唐僧是不是address都没了,哎,Address都没了啊好,那这个是我们说的一个修改,然后再往下,诶下边这稍的麻没一点,下边干嘛呢?诶反正一看还是孙悟空是吧?还是孙悟空,那我先复制一下CTRLC,后边我先不写,反正肯定是改孙悟空了,对吧?改孙悟空了,我先把孙悟空找到,让我干嘛呢?添加一个hobby,添加一个hobby,那先说用谁。
11:06
是不是set呀,哎,Set冒号,我先写上一个hobby,是不是给孙悟空添加一个hobby这个属性啊,哎,那接下来的关键是什么呀?它这个属性的值是什么,我们来看这值什么。这是一个对象吧,哎,这是一个对象,哎,对象里边有两个属性,一个是CD,还有一个是movies,说白了ho是爱好的意思,那说白它的意思应该是喜欢的城市,还有喜欢的电影,Cities,你看是一个什么,是个数组吧,哎,是个数组,就说我喜欢的城市是不是可能就多了呀?Movies干嘛呀,也是个数组,是不是喜欢的电影啊,那其实这我都不用看了,直接一复制。复制,然后往这一摘是不行了啊,一摘反正对象都给我整好了,然后选中它,我这一执行现在也是不是又修改了一个呀,来我们查一下DB,点一个U,点一个范,其实你们发现这玩意儿比我们GS是不是还要简单呀,就查来查去的啊,查来查去的啊,这一执行我们来看来看,诶孙悟空的hobby是不是有一个叫做cities cities里边有北京上海还有深圳,然后他喜欢的电影movies什么呀,三国还有黑RO,是不是等于对象里放了一个数组啊,哎,放一个数组,那这块我们要说一下为什么要整这玩意儿,我们要说一个问题,什么问题,那注意了。
12:35
注意我们这个什么呢?我们这个mango DB的这个文档中,文档的这个属性值也以也可以是一个文档。能理解吗?这跟我们杰森这个不违背是吧?和杰森是一样的啊,我们说了猫GODB的文档的属性值也可以是文档,那我问你属性值的是文档里有的,它的使用值还能不能是文档,是不是也可以是啊,我可以一直去存放文档啊,注意也可以是文档,当什么呢?当一个。
13:15
哎,一个文档的属性值是一个文档时,我们什么呢?我们称这个文档叫做什么呢?叫做内嵌文档,哎,内嵌文档什么叫内嵌文档,我在文档里边是不是又嵌了一个文档啊,所以注意现在我们来看这个文档这个表格的视图,那实际上我们会发现什么呢?这hoby这里边这使用值是不是就是一个文档啊,那注意这个文档我们就说是什么,它是内嵌文档,是不是它嵌在一个文档呢里边啊,哎,叫做一个内嵌文档,懂这意思吗?哎,好,那接下来咱我们说啊,所以注意以后我要跟你说内嵌文档,你要很明确,就是文档内部的文档啊,文档内部的文档,好,然后我们再往下来说,这就拖拖不着了。
14:09
再往下来说下边一个需求,诶下边干嘛呀,诶。给username为唐僧的文档中添加一,也添加一个吧,也添加一个ho be,这后币里边就是什么呀,就是movies,没有这个CD是吧?那咱们来也加吧,来一个DD,点一个users,点一个up date,它的username叫做唐僧,先匹配了唐僧,然后在这来什么呢?哎,来一个Dollar set,来个内嵌文的ho列,对吧?Hobby是谁呢?我直接粘过来啊,就这么一个电影,我看他爱什么是吧,就爱电影是吧,没有城市爱什么呢?呃,这叫什么Chinese什么。叫啥大大话西游是吧?大话西游是吧?这叫什么呀?叫喜剧之王是吧?哎,喜剧之王啊,这么两个电影是吧?两个电影看不出来是吧?嗯,翻译很准确是吧?嗯,来在这我们来看一下啊,直接F6,我这一执行是不是又修改了一个啊,那这个时候我们再看刷新一下,我们发现什么呢?哎,唐僧这是不是也加进了,哎,加进了啊好,那现在接着来看了,往下来找有需求了,这个该说查询的事了,让我干嘛。
15:33
查询喜欢电影hero的文档,查询喜欢电影hero的文档,那我们说呢,假如说现在我们来看这个电影hero,比如说其实我们这已经看出来了,就是谁呀,孙悟空啊,孙悟空是不是喜欢hero啊,但是问题来了,这hero跟我们孙悟空这个文档它有什么关系?你看我们说啊,这hobby这个文档是内嵌文档对吧,那我们来看看,那这呢。
16:09
他是不是属于嵌的内嵌呀?哎,内嵌的内嵌,那我要怎么整,那我们先说,假如说这hero就是我们孙悟空的一个属性,那怎么办?那我这好整,直接DB点一个users,点一个find find的什么呀,Find的一个Mo MOS叫做什么呀?叫做hero,喜欢英雄的是不是就OK了,但是问题来说,现在是不是这是不是这回事啊,不是,它是属性的属性吧,那要怎么查,诶那我一想了,我看看啊,Movies首先是不是应该找先找hobby啊,哎,那movies是不是hoby的属性啊,我要hobby干嘛呀,hobby.movies行不行?行不行啊,哎,那咱们先说一下,哎,先说一下我们说什么呢?Mango DB支持干嘛呢?哎,直接通过我们内嵌文档的属性进行什么呀,查询,首先可以肯定这种方式它是支持的啊,支持的,那所以如果要查询我们内嵌文档则可以什么的,则可以通过我们这个点的这个形式来匹配,所以我这个hoby.movies就是匹配什么呀,这个hobby的movies属性是hero的,能看懂意思吧,但是注意你说这么行不行呢?但是这种写法是错的啊,来执行一下,先看效果,一直行说报错了,为什么报错,注意如果如果要什么呢?如果要是要通过我们这个内嵌文档。
17:58
来对我们什么呢?哎,对我们这个文档进行查询,那此时我们这个属性名必须使用引号啊,给使用引号,你看我这名是不是出现什么点什么什么东西了,这个东西必须得加引号,这样才能匹配到,如果你不加,能不能匹配你也不知道啊,所以注意查询内嵌文档的时候,这必须使用引号,然后我再查,这时候才找到孙悟空,爱上孙悟空,那我们来看看单一号行不行。
18:34
单引号应该也是,我们看看吧,一双单引号是也行啊,哎,双引号单引号都行,但是这块你必须得写成什么呀,引号表示什么呀,它并不是某一个数形,它实际上是一个表达式,类似于后be.mo嘛,它是一个表达式,能懂我意思吧,在这啊,必得加上一个引号,然后通过这我们还发现一个问题,发现什么问题呢?来看啊,我忽点movies这句话到底是什么意思?
19:03
或者说我写一个username冒号一个孙悟空,这句话到底什么意思,是不是说找username属性值,Username属性的值是孙悟空的是不是?那通过这你来看看是吗?Hero?我问你movies的值是hero吗?是hero吗?不是,它是一个数组吧,数组里有hero吧,所以user name,孙悟空,并不是说它的严格意义上讲并不是用户名等于孙悟空,而什么呀,他这里边有孙悟空,也就说你的直视孙悟空,或者你是一个数组,数组里有一个元素是孙悟空,是不是都行啊,所以注意啊,我们这种方式也可以对数组中的元素进行匹配,所以我在这儿才能用啊,啊才能用啊,所以这块一定注意,好,这也是我们说的一个,这个内嵌文档查询,待会自己来试一下,这种方式非常重要,我会用的比较比较多啊,比较多,然后再往下看,诶下边哎,让我向唐僧中。
20:12
添加一个新的电影,叫什么什么乱七八糟,叫星际穿越是吧,那星际穿越啊,这英语高手是吧,运动是手写的是吧?啊不然我也不知道啊好,现在像唐僧里边添加这么一个电影,那怎么加。哎,那首先肯定是update users,点一个up,先找到唐僧,直接username来一个这个唐僧,然后呢。然后呢,大括我也写上对吧,包括你得写上,然后呢。到时set set行不行,Set谁呀?Set应该是hobby里边的Mo是吧?我们先说你先说你先你我先写上,你想行不行啊,来一个ho by ho Mo vis,然后这来一个冒号,谁呀,这个电影我给粘过来,你看这样写靠不靠谱,你说我执行什么效果,哎,S叫做设置对吧?我这么一改完了,直接把这个movies这个数组变成了一个什么呀字符串。
21:31
对吧,也就说那两个之前那什么大话西游还有这个这个这个喜剧之王都没了,都变成这玩意儿了,所以注意赛是干嘛的设置的,他直接把你这个值给你改了吧,给你改了我现在是不是要设置啊,我不是,我这要干嘛呀,我知要往那个数组里去添加吧,那怎么办?S靠不靠谱不靠谱,所以我都不用试了,我一试肯定这数组就没了啊,数组就没了,那我们来说那怎么办?哎,那我们想想,那我们现在set我们已有的这个修改操作符是不能满足我们这个需求了,所以我们需要一个什么呀?新的合作服,那有没有先说去哪找第一个地方,我们先说在这里边是不是能找啊,比如说但是这里边它不太直观,你得你得大概自己去推断一下,比如说我们来看这应该都不像是吧,马克X都不像,我们来看有个什么呀,有个这个完了找不着了,诶在这儿呢,哎,你看叫。
22:31
Update operators数组的修改或啊,我们来看push push咱们学GS就知道了,干嘛呀,是往数字里加呀,哎,那这那是不是就用它就行了呀,你再不确定看这这有一个push,然后写了一个A冒号一,然后这写了一个什么呀,添加这个值1TO什么呀,数组A里边是能看明白了,哎,你看明白了,这是一个位置,或者还有一个更权威的地方谁呀?哎,我们的官网mango DB点这个官网,官网里边呢,我们来看这个do。
23:08
Dogs呢,我们来找到这个getting start getting start,我们直接往下找,有一个叫做。Reference,哎,Reference reference,这有一个什么呀,Operators operators,我们这个操作符在这是不是有一个APP太一点开它这里边会有一个表格,把这些操作符是不是都给你列出来了,这是一部分是吧?这是一个files属性的,这是什么呀?Read,这是数组的呀,在这你是不是看可以看到啊,比如说push干嘛呀,是不是往里加呀,哎,泡泡是。删除吧,哎,删除就能看到了,那所以在这其实很简单了,我们就干嘛呀,把set改成什么呀,Push啊push来正好把这东西说一下,Push它用于什么呢?向我们这个数组中添加一个新的元素啊,新的元素来看看行不行,咱们先看看唐僧吧,们天之前先看一眼,这是一个反这一行唐僧,唐僧现在就俩啦,哎,就俩啊,然后在这儿我一执行,执行完了修改了一个,然后在这儿我来一查询,咱们一执行一看唐僧里边是不是多了一个,哎,那两个没有没有动啊,没有动,这是我们的一个push,然后其实除了push么,还有一个,还一个什么呢,叫做爱to s。
24:39
爱to side,那这哥们呢,它也是像数组中向向向我们这个数组中添加一个新元素,那注意了,ADD to side,这个side除了有设置的意思,Side还表示什么呢?表示是一个集合,比如说我们说一个什么呀,Char set。
25:06
叉set叉什么呀,字符set集合字符集对吧?哎,所以set除了有这个这个设置的意思,还有一个集合的意思,所以他说像集合中间一个新元素X set也是这个作用,那么说它们俩有什么区别呢?有什么区别呢?你看着啊,现在我再执行一下布置,注意现在我这里边有没有这电影。已经有了吧,已经有了,我们来看push,你猜猜push能不能铺进去,哎,能push进去,因为我们用push都知道它干嘛呀,它会不会考虑元素重不重复呀,不会,你怎么执行怎么有,是不是又修改了一个,这时候一执行我们来看是不是两个了,哎,两个了,但是ADD to set set。哎,Sat如果你学了我们的这个Java,你就会知道sat是表示的是不重复的集合啊,不重复的集合我们来看笑话啊,这有一直零走,你我们会发现匹配到了一个,但是有没有修改,没有修改,为什么没修改,因为是不是已经有了呀,有了它就不会再加了啊,不会再加了,所以注意什么呢?如果集合中如果什么呢?我们这个数组中,如果数组中已经存在了该元素,则添加失败啊,则添加失败,这是或者说不一定失败,则不会添加,所以push它不考虑你重不重X side嘛,它会考虑你重复存在,所以这里边根据的需要用啊,如果说你不希望有重的就用什么呀,As side,如果你希望不怕有重的就用什么呀,Push啊push好,这是我们说的这两个,然后。
26:57
再往下再往下,下边干嘛呢?诶下边是删了对吧,删了删除喜欢北京的用户,那说白了就是把大师兄给删了对吧?哎,怎么删呀,来一个DB,点一个users,点一个remove,诶或者比例one啊remove来谁呢?喜欢北京的那就是什么呀,那个ho hoby里边有一个CI里边包括什么呀,北京的啊包括北京的,那这就是大师兄了,对吧?来我们任意执行,咱们来看一下。
27:34
是不是删了一个,哎,删了一个,然后我再查询,咱们看孙悟空是不没了,哎,这是一个remove啊删除或者用delete也行是吧,大师兄就没了是吧,是哎北京招一惹谁了是吧?来就给删了,然后下边更狠唐僧也跑不了,删除user集合两种方式,你可以干嘛呀,DB点一个users点一个这个remove remove来一个大框是不是上来呀,这个其实严格来讲这不叫删集合,对吧,这是什么呀?清空集合他是把集合里边那个文档是不是都给都给商量,这一查手没东西了,那就没东西了,或者如果说严格意义啊,清级三级头应该什么呀,溜的字点一个这个撞啊撞这一支就走,你是不是都没了,哎,这撞完了呢,昨天我们也看到了1200连数据都给你装。
28:28
数据库是不是都没了,哎,所以咱们从头做到尾就是啥也没做一样,对吧?哎,为什么会把这个数据库给删了,因为数据库里边是不是就这么一个集合呀,这集合没了,数据库已经没有意义了,所吧数据库一块就给删了,把给删了好,这个是我们说的这几个东西,然后我们再看一个啊,再看一个,然后下边的会你自己来尝试做一下,我们再往下说,下边干嘛呢?嗯,这是像我们这个numbers中插入2万条数据,哎,2万条数据是老嗨了是吧?2万条数据怎么玩?我们先来看一下啊DB,我先看增加数据库,增加数据库时是不是还是MY呀?哎,那现在我要向numbers中插入2万件数据,那怎么插DB.nub numbers点一个这个insert,它是两,这数据找啥模式着非常简单,就一个属性,我们叫number值呢是一,这是第一条,那我第二条呢。
29:28
就是number什么呀啊,第三条NUMBER3,第四条NUMBER4能懂吗?所以这块非常简单。2万条不就吗?小意思来234能理解吧,我一直到2万就OK了,哎,但是我真写到2万,我是不是也疯了,哎,我也疯了,也是,如果真到2万,证明我也没有什么天赋去干程序员了,是吧?这事儿这事是不是太傻了,怎么办?哎,我们是不是来个for循环呀?哎来个for循环怎么玩啊,For循环这儿来一个Y一个I等于第一,咱们number从一开始对吧?那从一开始,然这来什么呢?I小于等于2万,是不是到2万结束啊,然后他来一个I加加,哎那这块我是不是直接写一个2万次的负循环,是不是完全就OK了,然后再往下这走,这改了什么呢?这改成,哎,那这样第一次我是一,第二次12,最后一次是不2万呀,哎来我这一执行走。
30:38
这2万条数据看这意思得差会了是吧?哎,先看这儿,它会显示一个时间,执行的时间是7.2秒,我先记下来啊,这是7.2秒,花费了7.2秒钟的时间执行,然后结果给我写一什么呢?INSERT1,为什么是一呢?诶,它给我显示是最后一次结果,因为我这是不执行了2万次啊,只有2万次,每次是插入一个,它这不显示最后一次啊,最后一次,所以注意啊,是这么一个效果,我们先看看数据进不进来啊,DB点一个nub numbers点一个find,点一个这个count啊,点一个count,这一执行是不是2万个数据啊,哎,两个数据就都出来了啊,然后呢,我们看看。
31:28
哎,这是123456是不是都出来了啊,都出来就不就不管它了啊,就不管它了,但是我们会发现其实这块效率是不是有点有点差呀,这玩意儿我一下差了7.2秒,这是不是太慢了,那我们就想我有没有办法我给他。把这速度给他提升一下,让他快一点。哎,我先来一个啊,DB点一个numbers nub numbers点一个job,这时候直接删这个库,诶我先这样试试,正好这个数据多了,我来什么呀?Remove,我看删的时间快不快啊,我这一直就走你0.2秒,那还比较快是吧?哎,删的还比较痛快,那我们就先不不不说这个事儿,那我们先说我希望它插入的速度快一点怎么办?
32:22
怎么办?那我们先想想现在慢的原因,第一个是由于数据多,是第一个原因对吧,第二个原因,那注意了,我现在把这个隐色这个玩意儿是不是写到了四循环里啊,证明我这隐色的会执行几遍,2万遍有几个数据是不是执行几遍,有几个数据执行几遍啊,执行2万遍,那我想一想,我是把这个方法执行2万遍,插入2万条数据快,还是把这数据这方法执行一遍插入2万条数据快,是不应该执行一次,应该更快一点啊,那我就想我能不能一次性把这2万条数据全都插进去,行不行,不行,那我一想,那这样行不行,我不不这么玩了干嘛呢?方C我这么写啊,看着啊Y一个A瑞等于一个它。
33:18
我是创建一个控数组啊,在这儿啊,我不这样玩了,我来一个array,点一个push,诶我是不是把这个西添加到数组里啊,然后最后我再来一个DB,点一个nub呀,Numbers点一个什么呀,Insert insert谁呢?那这样首先能看出这意思吗?效果是一样的,只不过这个时候我隐色只掉几次啊,只掉一次,所以理上讲性能是不是会好一些啊,哎,我们来看看行不行,这回注意啊,这仨都得直行啊,都得直行,选中一直行。0.4秒,这时候就快多了,哎,就快多了啊,所以这只花费了一个0.4秒啊,0.4秒,所以这里边注意以后我们去做数据库操作的时候,也是注意这点,数据库的方法我们能少掉干嘛呀,尽量少掉,尽量在调方法之前把这些操作干嘛呢都会完成,因为这些方法性能相对来说都是很都是不太好的,所以你调的越少性能是越高啊,你看刚才我这种方式7.2秒这是什么呀,0.4秒是不是提升还是很明显的呀,哎,很漂亮啊,所以这两种方式到时都来试一下啊,我现在来看数据对不对,这一直行,但是查询咱们现在就不管它了啊,这边我看。
34:38
是不是12341直到2万,哎,一直到2万啊好,那这块我们就给他说完了,然后待会儿你们任务呢,是把上边我写这几个再给他过一遍啊,再熟悉一下,因为第一毕竟第一次学,然后呢,熟悉完了可以看看下边这几个,其实也不难啊,稍微看一下来,我们停一下。
我来说两句