粉丝9734获赞3.4万

你们有没有懂的呀?今天开了一天会,然后公司的一个技术顾问聊了一下,我们现在用的是买色口,然后他非常坚持的说得用 p g 色口,说 p g 色口处理大数据比那个买色口要强性的。 我们现在的需求是一天十万条数据,然后他存的字段都是阶层字段,一条数据差不多是八 k 币,每天这样的数据过来会做查询,然后 我的方案是做分库分表,然后他的给的建议是分区,然后数据库要用成 pgc 口。嗯,有没有懂的呀?评论区可以聊一聊。

昨天直播的时候有个兄弟在问, pg 数据库九百 g 做了个定时任务, rendex 花了几个小时,业务堵住了让他排查,他不理解为什么需要 rendex, 所以不是自动维护的吗? rendex 和锁影维护是两个概念, rendex 是重建锁影,相当于先删除锁影,然后再创建锁影。如果直接去 rendex 或锁表的,一定要加并行参数, 那重建锁影的速度会稍微慢一些,但是可以并发执行 d m l。 所以 index 一般是在锁影膨胀或者锁影无效的时候才会使用的。可能很多人都不知道锁影膨胀这个概念, 这和 pg 的 mvcc 实现方式有关,所以在 pg 里表和锁引容易膨胀,而锁引维护是数据库自己做的,他要保持避数的平衡和有序,所以每次真善改都会对锁引进行维护,这就是锁引的成本。

我这边再搞一个,我这边有个有个同学问了个问题,嗯,我这边怎么?我这边两个 pg 的裤各一百万条,我看一下,我从看一下他问的没有好这个场地问题,这不是八国人是吧? 两个 p g 的,这你是 p r circle 吗?你是且前行吗?两个 p g 的库各一百万条数据,如何保证二十秒内对比完成?需要具体的一个。你这打字打的有点不全,不通俗易懂吗? p p g 是 program secure 是那个一个关系数据库, ps, ps 写的简写。嗯,写的简写的简写,但和如果你是想做两个两两两个库里面一百万做对比吗?嗯, 这个颜色啊,好,这个问这个 post grace secure, 它 p p l secure 叫 post grace secure 啊,那个对,那个大象,那个数据库也是关于数据库啊。先谈的麦克老师,谈完我再谈一谈这个应该怎么去做。我想我思考了五分钟我思考了五分钟,我应该答案了。答什么问题? 他的意思就是说我现在在,我现在你不用想切 ps 二狗,就好比我先用两个库,嗯,对吧。嗯,两个库的数据我想做个比对。嗯,请问你怎么能在二十秒内把它比对完成? 你先说下你的看法你先说你看法。哈哈哈,我要在你你先说你的看法。 像这种的话,一一百万的数据的话,最好是用大数据框架,用那个流失处理框架去做,你再薄些人,你再怎么样搞,你二十秒也搞不完啊。那具体怎么做呢?具体大数据怎么做?大数据 你要是大哥去处理啊。我说我说这具体的时间,具体要携带吗? 怎么现在你把数据数,你把你的所有的数据丢到那个十八个里面去做分析不就好了吗?像如果说看看完你的那个面试宝典的话,正常去面试拿多少薪资呢?拿多少薪资啊?如果你全部学会的话,我估计保守估计也得造三万吧。 哈哈哈哈,三万?你开玩笑。我靠,这么牛逼?三万,对,你是真发的吗? 哎,还真发了,麦克老师,你真发给我了?当然,我,我拿个小号进你的这个粉丝群里面试宝典。我的妈,我的妈,我这真的屌,这个面试宝典有点屌,这个面试宝典有点牛逼啊。我靠,在你的粉丝群进主页可以拿到这个,这个面试宝典有点牛逼,有点牛。 牛逼啊。我靠,很屌,有点屌。呃,其实你谈谈他说一番,我先谈谈我的一个思路啊,我谈的思路是这样想的,嗯,呃,我,我先问一下他这个以后有没有增量? 我答应有没有增量,如果有增量的话肯定要搞扩容的。晓不得,其实我觉得这个思路其实蛮简单的。首先呢,你一百万的数据,如果你你靠单排的去搞的情况下,我估计不现实。嗯,但那肯定不现实,所以你肯定要把一百万把它分摊成,嗯,把它分段一下, 就把下面这十个分成十个,二十个不同的小文件,对吧?然后放到多个部分机器里面。怎么?数据库吗?对,我是我,这,我是蛮简单,如果让我搞的话,二十秒蛮简单。我,我直接去买很多福气 马龙附近同时骑起来,然后搞分段的形式,我把下面分成十个。那你要把,然后只要说,我只要说我每一个福气里面去比对,能 算二十秒完成, ok, 我十个福气并行处理,二十秒被搞定了吗?在以后如果新的情况下蛮简单,我就再起个福气。所以我把一个大的日文件,把它分段,也分成 n 多个小的块,然后每个福气去测这么一块,他的一个对比的数据型呢?我是这样实现的,就超能力,对吧? 对,我是,我是这样的,就是假设,如果说我不用这个道具,喜欢这样做的话。嗯,就是假设有分量情况下,蛮简单。你,你以后只要再起这种,你就不应该走对比方案,你这个这个要看看,就不应该走对比方案,你应该是去根据 就你,你如果是你有两种情况,第一种情况就是说我已经有一百两,两个一百万数据在这了,和第二种就是我在去业务正进,在进行过程中去不断出入库的数据,这是两种情, 两种情况不一样,如果是已经有一百万这样的数据情况下,那你的对比就不可能二十秒处理完成, 你的数据已经成型了。包括像刚刚有说那个东东哥,那个 m d 五,你去生成每一条数据, m d 五是一样的,就 m d 五是一个必备的手段,就是你去表示每一条数据的一个差异化,对吧?因为 m d 五它是一固定的一个结果嘛,就是生成一个哈气值嘛, 因为他这个其实没标远门低,为什么?因为他已经已经给你的库。那你怎么知道买的数据不一样?写取行值可以自己写个脚本笔,对什么直接写交二,把它导成一色表格的形式会怎么样呢? 我们还是聊点聊点开心的吧。聊点开心的是吧?聊点开心的不是这个粉丝啊。我觉得你没必要问这个。什么叫双列表单列表这东西我觉得问的有点太那个了。你问的问题说实在话,你要不说,不说吧你就说不会。这东西就是什么意思? 就是头尾相连接,懂了吗?头尾相连接,双列表单表是我只只想只想只想下一个。是这个意思。晓不得。嗯。




ug 成立于一九八八年,专注 it 培训和数据库认证三十多年,助力上万学员升职加薪,成就梦想。呃, pg 的数据库的创建啊, 其实呃是非常简单的啊,非常简单啊,你看 p d 的数据库,我们一般情况下面建的时候,一 你要创建一个你数据库的数据目录,哦,我们叫数据目录,那数据目录的话,我们一般呢是把它放在你软件安装目录下 啊,进一个 model 叫做 datam, 当然你也可以把这个 model 呃指 定到一个你想存放数据的位置,对吧?啊,好,那么录完以后呢,接下来呢,我们就可以用这个 init d b, 对啊,以内的 d b 呢?它是一个初始化数据库的这么一个秘密,这个秘密呢,呃,功能非常强大,有很多选项, 这个 inita d b 呢,就类似于 oracle 的 d b c a 啊。 oracle d b c, 呃,可以提供呃图形化的这种建库,当然我们也可以使用 d b c a 呢去进行这种命令式的。这种什么啊?呃,建库 跟这个盈利的 db 一样啊,我们那时候我们把那种建库呢,我们把它叫做进 这个什么啊?静默建库,静默就是你建的时候不需要去什么啊,这个,这个提供很多很多参数,对吧?输入很多很多,比如那种交互式的,你只要把呃 建库过程当中所用到的参数,你一次性给他提供就可以了,那么这个 p g 的这个,这个 in it d b 就属于这种类型。嗯,那么我们在 in it d b 的时候,我们 一个变量,呃,必须要指定,就是杠 d, 你要告诉他你的数据 model 在哪里,那这个这个杠是吧?杠 d, 这个 p data, 如果你是在你的这个环境变量里头呢,已经设置了,比如你环境变量已经设置了 pd data, 那你这个参数呢?实际上面呢也可以去,去什么呢?去忽略这一个。还有杠 w 是干嘛呢?杠 w 是 你怎么样啊?呃,因为他在建库,建库的时候呢,会里头啊,自动会有一个超级管理员用户,叫做 post grass, 它会进一个 poster grass 用户,那这个用户你在登录的时候啊,呃,你可以在初始化的时候呢,给他一个密码,你这时候呢, 你就可以怎么样啊?加个杠 w, 这时候呢,他会提醒你输入 post grass 用户的这个密码,这个用户不是操作系统的用户啊,他是 p g 数据库里头的用户,明白不? 还有如果呢?将来呢,你这个数据库呢,要配置这种 mr 这种这个 组成复制,那你必须要加上这个参数,否则将来你是做不了复制的,所以这点非常重要。 嗯,所以你看哈,那将来我们进初始万娃数据会,以后我们呢?呃,怎么去启动?我们就用 p g c t l 去启动,启动的时候你看你都 要加这个杠低这个参数,所以这个参数啊,如果我们不在环境变量里头提前设置好,那将来你在呃这个什么呢?使用的过程当中是非常繁琐的,听见没有?所以呢同志们,我们一般呢会呃, 建议同学们把这个变量给提前设置好,对吧?好,那设置好以后,那下面我们就给他演示一下,比方说你呢 可以建一个目录啊,叫做 p g data, 下面呢建一个 data 目录,对吧?嗯, 哦, m k d a r 哦,不能创建目录 哎,我看一下说没有这样子的文件横 诶,有啊。哦,那可能就,呃应该支持 哦哦,明白了哈,他说啊明白,因为我这个 pd data 指定的是 这个路径了,对吧?然后呢我又又指定在这个目录下面呢,又指定一个 data, 那告诉我这个 data 下面没有这个这个目录,所以我其其实我就 mk d i r 到了 p g data 就可以了,对吧?好,录完以后大家看一下,我们就可以 in need to d b get 大 w, 是吧,你就这么简单就可以了?好,你看,这时候呢会让我们输入 pos 的操作,呃,超级用户的密密令啊,密码,这个密码呢,我们输入你比如说,呃,大家虽然输入的时候他是不回险的,其实我们 已经把密码输入了,但是呢他没有显示,大家注意他是不回险的,但是呢你只要输入进去不管他,然后呢回车就可以了,对吧?嗯, 好,你看你看数据库都建好了,所以,呃,大家如果预习惯了这个 oracle 数据库的时候,你再去 这个这个使用 pd 的时候,你会觉得 pd 怎么这么简单,呃,是吧,然后呢进一个库这么快,对不对?你会感觉有有很大的一个落差, 请看。呃,可能会觉得哎呦,这么简单的数据库他能够也有能够 承载的了我将来这个这个海量数据吧,对吧,他才能够他能够管理的好吗?实际上面是可以的,听到没有?就是呃,奥利口的 d b c a 呀, 他在建的时候他是把将来我们所要用到的一些默认的一些配选项内容都 把我们给弄好了,然后呢我们呢?以后呢,你用的时候你可能就直接使用了,但是呢, pg 不是这样子,他呢只是给我们一个最 怎么样看简单的这个数据库的一个架构,呃,以后呢,我们可以根据需要你再去怎么样看创建,所以我感觉 p g 这个还是比较好的,所以 p g 的这个 他这个短小精悍啊。那么之前呢,我们有一些同学去学 pg 数据库的时候,几乎什么呢?呃,这个,这个,呃觉得,哎,这个软件安下载下来才几十兆,然后呢,安装又这么快,总会有一种 感觉,这个软件能用吗?是吧?像这个 ologo 的软件,动不动就有什么啊?啊,这个好几 g, 这里头我,我要给大家重申一下。呃,当然,这个 ologo 的软件 大和 p g 的软件大,那这里头呢?呃,里头确实有包含了一些功能的一个差异,那 all local 数据库它的功能确实要比 p g 的的要强大 啊,这是我们,呃,毋庸置疑的。但是呢, oracle 的这个软件为什么那么大?实际上面还有一个原因, oracle 他这个软件啊,他用的是专 它的安装软件安装程序啊,用的是 draw 语言写的,所以呢,它 draw 语言呢?它,而且呢,它它这个软件的这个安装 它是什么啊?这个软件安装的这个功能呢?它是跨平台的,用 java 原写的,就是你可以呃,用这个安装的界面,可以在 windows 下面安装,也可以在 linux 或者 uniques 下面安装, 所以它是跨平台通用的安装器啊,那这样子的话,用,我们都知道用 draw 语言,虽然说是呃跨平台,呃这个通用,但是呢,它的一个代码量也比较大,嗯,而我们 p g, 你看我是制服型的,所以 他就怎么样啊,这么小的这个代码就能够满足我们一个将来管理一个数据库所具备的功能, 所以同学们不要因为 pc 软件包的小而去小看这个 pg 数据库的管理的功能,大家千万不要这样,听见没有,嗯啊, 呃,你看我们原来这个学学习 oracle 八 i 的时候,那个安装呢,也就几百兆,也非常快, 是吧?呃,虽然你要他是图形,图形界面的,安装的东西肯定要大一点,对吧?嗯,好,对,好了,那弄完以后,那接下来呢,我们首先呢就要把这个数据库啊,把它给起来,起来 pg ctl, 一般情况下面我们都要指定这个杠低你的路径,对吧?嗯,但是呢,我的环境变量已经配置了,所以呢,我就不需要,我就 pg ctl 是大特就可以了, 你看启动,你看起来了,起来以后,你看,由于我在配置的时候呢,我指定的这个端口,所以呢,他默认的就准备看,呃,用幺九二二这个端口, 明白,你看现在起来了,看见没?非常快,那起来以后,那么,呃,其实 p g 数据库起来的时候,他呢也是启动了,这个什么啊?实力, p g 数据库也有实力,大家抽一下,你看这些就是实力的后台进程,那么这个实力里头 post 的 grass 是一个什么啊?副副进程,那其他的都是一些派生出来的子进程,你看有检查点,有有这个后台写进程,就跟 oligo 的 d b writer 一样,然后呢,有日字写进程, 就跟 lg writer 一样,明白没有啊?还有这个 o two vacuum 进程,对吧?还有统计的一个收集进程, 还有啊,逻辑复制的这个什么啊?呃,这个进程你看好,那这个弄完以后,那我们呃将来使用登录的时候,如果是 linu 下面,他默认对于我本地登录他是信任的 p circle, 你直接 p circle, 哎,你看就登录到数据后了, 是不是啊?那么对于这个同学们,如果是初学者的同学们,大家注意了,那我登录到这个 p g 数据库下面,我怎么去使用呢?哎,你可以用一个 help 命令,大家看啊, help how 里头我们可以看。呃,那么在这个 p g 这个,呃这个什么呢?这个 p circle 这个运行环境下面。呃呃,我们如果在下面运行一些什么呢?一些命令有,有的时候你会发现 前面呢会带一个右斜杠,注意啊,这个右斜杠代表什么意思呢?这里这里头给大家解释一下。呃,那么在 p circle 这个环境下面,它有两类命令, 一类呢是 p g circle 命令,一类呢是标准的 circle 命令啊。那么 p g 的 circle 命令它实际上面是什么?是标准,就是我们这个标准的 circle 是标准 circle 的什么呢?的一个快捷方式。 这个呢?呃,我觉得这个 p g 这一块做的 非常好啊,就这个快捷方式可以呃帮助我们呃去获得一些信息或者管理数据库的时候,非常的方便 啊,非常方便,他不像 ologo, ologo, 比方说我们如果想查看一些数据库的一些信息,那可能你就要运行什么 snack 的去查询,那个就是标准的 circle 语句,对吧?那还有一个就是标准的 circle 语句, 那么 p d circle, 它它的所谓的这个快捷方的指呢?是什么意思呢?是一个别名。比方说举个例子,我起一个呃 快捷的话,比如我写一个,我起一个名字 l l, 它就等于什么呢?等于你执行了 select, 比方说我查这个什么啊?这个,这个,这个数据库里头的,嗯, d name 或者 o i d 或者什么,还有其他的很多很多东西,然后呢? follow 什么呢? p e g database。 注意就是你将来如果执行 p circle 命令,其实他后台是去执行这个标准的 circle 依据,只不过说我们以后 不需要写这么长的代码,我们就可以获得我们想要的信息。比方说 l l 呢?我们是 是用它来查看我们当前数据库的什么,当前数据库的什么信息,你就斜杠 l 回车,你看是不是非常方便? 所以我觉得这一点呢, p d 做得很好,对吧?呃,买车,呃,买车口,呃, 就没有这些专门的一些快捷秘密,那么 oracle 也没有。你看 oracle, 我们每次这个呃管理的时候啊,你要获得什么数据库的数据字典的信息, 你就要去 select, 是吧?写很长很长的代码,对吧?很麻烦是不是?但是呢, pg 非常方便。嗯,好,那如果我们想看 这个 pg 的它的一个 circle 有哪一些?我们可以用右斜杠问号。右斜杠问号呢,可以去看我们这个专门的这个 pg circle mini, 它叫 p circle mini, 我们叫 pg, 你看你可以右斜杠问号 看到。哎,你看这些都是凡是执行的时候有个右斜杠,然后后面加上这些命令的,这些都是属于 p g 收口命令, 看到没有啊?那接下来比方说我想看一下杠 d, 杠 d 这个命令呢,我们是经常要执行的啊,比如我去看杠 d, 看一下当前这个数据库下面有没有一些表, 有没有一些对象啊?他说没有。嗯,那么大家注意啊,你看像这个杠的后面有有个方,呃, 这个什么啊?叫方括号,方括号这个是选项,就你可加可不加, 如果你加的话啊,可以加里头的内容,那这时候就意味着他显示的东西呢会更多,比方说我如果加个杠 d 大写的 s, 然后加,对吧?那这时候你会发现你能够看到很多啊,这个数据字典表 啊,那么他会把这个数据库下面所有的数据字典表都给你列出来啊,但是呢,如果你不加,他只是显示出当前 用户自己创建的表,明白,你看是吧?所以我我感觉这个用了这个 pg 以后我就非常喜欢。呃,他给我们管理员提供了很多的一种叫做什么啊?呃, 快捷方式,呃,让我们工作的时候更有效率,对吧?好, help, help, help, 我们再看 help 啊,刚才我们给他介绍的斜杠问号,那么呢,假如说你想看一下当前这个什么啊,这个版本的一些信息,你就执行这个 copylight, 你看他会给你显示当前这个版本啊,我这个软件从哪一年到哪一年,对吧?然后呢,他的他的一个 license 是什么样的?你可以熟悉。 嗯,好。那右斜杠 h 呢?右斜杠 h 是,呃,我们呢去查看。呃,他的一个标准的 circle 语句的一个什么啊?啊?语法, 比方说如果你不加任何的参数,那么它会显示所所有 这个标准的 circle 语句啊,比如说你看 alt 啊, creator 啊,呃,是吧? drop 啊,等等等等等等。那比如说我现在想看一下,呃,我键表的语法,你就斜杠 h, 你就后面加个 creator, 那么他会把 creator 后面所有的 一些语法表,你可能去创建一个什么啊?这个 agreement, 或者呢?你可以去,你可能是去撞创建什么啊? case 或者什么啊,或者呢?你是创建什么啊?呃 connation 对不对?或者呢?你可以创建 doman 啊,创建 database 啊,都会把我们全部显示出来,对吧?啊,那如果我们就想显示键表的语法,你就干 h 怎么样啊?这个 create 怎么样啊? table, 那这时候呢?它就只显示我们键表的这些语法,是吧?所以我感觉这个使用的时候比比 二路口要方便了,但是二路口也有也有一个帮助,对吧?你用 help 对吧?可以看里头的一些呃呃,这个 circle pass 的一些命令,对吧?这些命令其实就是很方便的呃,给我们管理员使用, 所以大家以后如果去学习操作 pg 数据库的时候,其实是有捷径可走的,是吧?哦,你可以记住一些什么,一些呃窍门,对不对?这样子的话,你就很 非常呃快的就能够去使用掌握管理这个数据库。好,那将来呀,如果我想退出数据库呢,你就斜杠 q 啊,就可以了, 那我们登录,对吧?斜杠 q, 或者我们用这个 quit, 对吧? quit 这个命令也可以啊,或者用右斜杠 q, 对吧?好了,呃,那同学们,那我们今天晚上啊,我们主要就是跟大家讲一下这个 p g 数据库的 软件的安装和建库啊,这是我们,呃什么样啊?学习 pg 数据库怎么样啊?迈出了这个第一步 是吧?第一步啊,呃,那么里头虽然说简单,但是呢里头呢也包含了我们将来是吧,你管理的时候,嗯,所包含的一些什么啊?一些管理的一些 常识,对吧?啊,所以同学们,我希望啊大家呢能够通过我们这个课程能够很快的成为怎么啊?一个合格的一个 pg 数据库管理员, ok, 嗯,好了,那同学们那,呃,今天晚上,如果,哎,比方说如果我们我们要光库呢,你就 p g c t l stop 就可以了,很方便,对吧哈。呃,启动 p g star 对不对? 那我我我感觉这个用了 pg 数据库以后总感觉比用 ologo 要好, ologo 起一个数据库还起半天对不对?嗯,其实啊,我感觉 ologo 有这个当前的数据库 功能越来越强大,但是呢,有一些是没有必要的啊,没有必要,那有一些功能可能不见得我们都都用得上, 但是呢,他这样子的话,呃会让他这个软件啊,这个体积呢越来越庞大, 而且呢二路口从这个这个这个什么呢?呃,实际以后它里头呢就加了很多这个什么至适应调整的一些 组件,那这些组件,哎呀,他,呃使得我们这个 oracle 的这个软件的体积呀,就一下子就增加很多,包括现在什么十九 c 呀等等。嗯,那么他的里头的这个一有一些,我觉得有一些功能包有些是多余的,嗯,多余的,所以呢,我们在运的时候不管你有没有用,你都得什么呢?把它给给给弄上, 所以就导致现在 ologo 有的说运行是吧比较慢对吧?占的资源比较多 是吧?就这个啊,所以这样子的话就给了我们一个一个什么呢?一个比较,呃可能这个什么呢?误解,觉得奥路口慢,奥路口大, 呃是不是因为它就是怎么呢功能呃比 p g 要强大很多,当然呃大就强大 肯定强大一点,但是呢呃不是说因为这个体体积这么大,所以呢就觉得一定会比这个 pg 强大非常多啊,不是说我们不能以软件般的大小去呃 怎么样啊?表面的去评估他的一个功能的一个强强大与否是吧。嗯所以我觉得这个 pg 我可以根据我的需要将来呃需要了我再去添加我的插件对吧?这样子 我的功能呢是随着我的需要慢慢的去怎么样去增加是吧,而而不是像奥尔狗一样我这个功能可能现在没没有用到,但是呢你呢一样 提前安装好对吧啊也就等于我现在呢为要为未来去买单是吧?好好了同志们。呃大家希望大家呢能够什么呢啊?通过我们这个系列的课程啊能够 最快的最好的方式去掌握这个 p t 数据库。好,呃最后呢我们跟大家说一下哈,比如我们这个,呃原来我们呃本来打算这个什么呢?在这个 呃一月六号在杭州呃举办这个年会,由于杭州最近这个疫情 比较严重,所以呢我们这个年会啊就延期了,延到这个春节以后啊,到到时候呢我们呢会提前呢在群里头公布。 好吧,希望同学们啊大家呢能够互相转告一下啊,还有呢我们今年呢社区呢,我们推了什么呢?这个我们 p g 的认证 对吧?呃为什么要推 pg 认证?因为,呃通过这个我们可以快速的去培养呃懂 pg 数据库的这些技术人员, 对吧?那么培养的时候我怎么样去证明你的一个水平,那这时候呢,我们通过认证去评估一个一个人怎么样啊?他的一个水 水平的一个高低啊。呃那我们最近我们先推的是 p g 的这个初级和中级啊啊然后呢到了明年呢我们会推出什么啊?呃 p g 高级的啊这个认证。嗯 所以同学们大家如果有学习和考证方面的这个什么需求,同志们可以什么啊?啊?可以联系啊,联系哈,联系我们啊,大家看一下这个是呃 呃我们呢可以到工信部的官方网站上面呢去查看。呃有关这个认证的一个科一个什么一个声明啊。呃呃这个是由工信部人才交流中心 呃这个发的一个证。呃那这个证呢?它是属于信创领域,大家注意信创就是将来呢,我们如果去呃这个什么去这个啊?呃 去竞标,竞标的时候,那么嗯这个证书呢可以当做一个什么呢?资质来使用啊,他是属于信创领域的啊,如果我们将来投的是这种信创相关的一个标书,这个是非常什么呢?有用的一个。嗯 好了,那今天晚上我们的这个技术分享呢就跟大家讲到这里。好呃这里头呢,先预祝啊,同学们怎么样啊?这个二零二三 元旦快乐啊,我们疫情应该逐渐的走向了光明,对吧?走向了这个,这个,呃,最后的一个结束的部分。嗯,好。那同学们看一下有什么问题?有问题我们可以交流一下。