00:00
好,咱们来动手实践一下啊,这个全局序列的数据库方式啊,怎么去实践啊各位,首先咱们在D1上创建一下全局序列表啊,这块咱们存序列的这张表需要创建一下咱们哎,直接拷贝一下,在咱们的什么呢?D1上去执行一下就可以啊,这个表创建完成之后,下面做什么?各位啊,得去创建全局序列所需要的函数啊,Create function啊这个函数啊呃,咱们不需要咱们Java开发人员去深入学习了解啊,这这属于思后编程啊,这块呢,咱们只需要遵循咱们的买CAD官方给出的呃,创建的语句直接运行下就可以,好,咱们运行下。创建啊第一个。啊,各位可以看到创建成功了,然后之后呢,再创建第二个函数,也同样的直接咱们哎,直接粘贴一下运行就程给各位一个建议啊,就遵循官方文档,咱们直接去什么呢?诶遵循它去什么创建就可以啊,这千万不要自己动手啊,去改里面一些参数啊这块呢,如果你进行相应的改动,有可能就会造成全局序列啊搭建失败的情况,所以这块呢,哎,咱们把这个三个函数都已经创建成功了,咱们再去看看啊,这块我得再往咱们的诶second序列表里面插入初始化的数据,咱们查一下数据。
01:31
然后查完数据以后,咱们再查询一下,哎,咱们select星啊,From咱们的什么呢?全局序列表,咱们买cat sequence这个表啊,咱们查询一下看看能看到什么,我的全局序列名叫orders啊,咱们订单表相关的序列,还有就是咱们呢,诶可以看到里面的一个起始值40万啊这块还是啊这个ID咱们要什么呢?有一定的格式啊,有一定长度,还有就是啊咱们的increment什么,它的不长啊,它每次诶发给你总共多少个,咱们设定是多少,是不是十个,哎,咱们是100个对吧?这是什么?哎,咱们的,哎一个每次发给你的什么呢?ID的数量啊,一次给100个,好,那这块呢,之后啊,是不是就可以把咱们买KD提起来,就可以用这个全局序列了,先别着急,咱们还得看一些买K的配置,首先SDB啊C。
02:31
Donf啊,咱们sex序列啊,相关的一些配置信息,咱们得去修改一下这个配置文件,咱们同样找到咱们配置文件的目录,咱们去修改一下这个配置文件,可以看到在这个配置文件里边指定了orders等于D1啊各位咱们是不是就是在DNE1上创建的这个全局序列啊,啊所以这块呢,不需要改,但是各位啊,如果你在什么DN2上创建这个全局序列,记着啊,把这个配置文件得需要修改一下啊,指定诶,放好你的全局序列所对应的那个数据库数据源就可以,好,这块咱们不需要修改,直接退出了啊冒号Q好,还有一个咱们得去什么呢?修改一下咱们的配置文件,诶server.xl咱们修改什么呢?得在里面选定一下咱们到底用哪个全局序列啊,这块呢,咱们修改一下vm server。
03:31
好在这里面啊,咱们把光标挪到最上面啊,这块呢,在上面有一个,呃,咱们的全局序列sequence的类型,这写的二,诶各位这是默认的是哪种啊各位咱们说了,诶,咱们买T提供的全局序列有三种啊,这块第一个是咱们的,哎,可以往上看啊,是第一个本地文件方式,第二个数据库方式,第三个是什么时间戳方式。各位能猜到这个二是指的谁吗?啊有同学说,哎,老师那不就是数据库吗?还改什么呀,各位一定要切记啊,这块是从零开始的,所以012,那这块对应的应该是谁?哎,咱们的时间戳方式,咱们得把它改一下,光标摸下来啊,咱们改一下它的类型,咱们要改成什么?改成一,光标线录入,把这个数值改成一,这块切记诶一才是咱们的数据库方式,这块确定一下,好,咱们把这个配置项诶改好以后保存退出ec冒号WQ好之后千万别忘了咱们买cat得再次什么呢?重新启动,让咱们的配置项生效好启动完成之后下面做什么?各位咱们是不是就可以插入诶,往咱们的O里面插入数据了,这回用的是谁?各位就是咱们的全局序列啊,取下一个值是什么呢?诶,Next value from咱们的MY。
04:58
哎,Sequence哎,咱们的选举序列就用它好,咱们插入一下数据看一看,同样啊,咱们得在my cut下执行这块呢,也是啊,咱们切一下咱们的,哎重新连一下咱们买cat好插入数据看看,诶OK,一条成功,再插一条,两条成功,咱们再去查询一下咱们的订单表,诶select星from咱们orders啊各位能看到什么是不是,诶400100400101,那这个时候各位如果买开头挂了怎么办啊,咱们诶这个诶推理一下,如果买开挂了,各位是不是从100开始,这一诶一直到什么100开始一直到什么,哎,咱们往后推100个ID是不是都用不上了,那之后肯定是从什么,是不是200开始了,那怎么确认咱们是不是?哎试一把啊,这块还是要勇于尝试,咱们把马开的,诶给。
05:58
给停下来之后再启动好再启起来之后,咱们同样啊再插入数据看一眼,同样你得先切一下库,重新连一下,然后呢,诶插入数据再插一条,再查一条,咱们再去查询一下看看,哎这回哎是什么样的情况,各位能看到是什么,是不是400200400201啊这块可以保证无论你什么呢做哎主被切换或者哎这个主机挂了再重启咱们全局序列都不会出现重复的情况,以上就是咱们数据库诶全局序列实现的方式,好这块呢,各位还没完,咱们除了这个买cat提供的这种方式啊,还可以怎么办?诶第四种就是咱们自主生成,用咱们Java程序自己去做这个全局序列,呃可以根据咱们业务逻辑啊去什么呢?诶拼字符串可以也可以通过什么,各位还记得他red对吧。
06:58
最大的特点它是什么?单线程原子性,咱们可以用inquiry来做,自增的序列也可以,但是有一点这块无论是咱们自己拼还是用red来实现啊,都需要咱们在Java程序中写相应的代码,还是那句话来对应的耦合又变得紧密了,咱们最好要做什么解耦操作,所以推荐各位咱们全局序列还是用咱们的数据库方式啊,这种方式哎最什么呢?方便,抗风险能力哎更强一些。以上就是咱们对于全局序列的一个讲解。
我来说两句