
数据库
fall_hat
这个作者很懒,什么都没留下…
展开
-
数据归档方案
1原创 2023-02-13 00:16:28 · 627 阅读 · 0 评论 -
分布式事务
分布式事务原创 2022-08-12 13:31:37 · 581 阅读 · 0 评论 -
记录AOP中切面类的事务传播性引发的一个小问题
在controller层,为了记录接口的调用日志,使用aop切面在方法执行之前有个insert操作,方法执行之后有个update操作,然后接口方法里面没有新增和修改数据库记录的操作,但是运维却监控到长事务的告警,后面本地debug发现是因为切面里的事务传播到接口方法里导致的,spring默认的传播机制是required,所以导致select也在事务里面,这个方法执行时间很长,所以导致select引发长事务告警,改进的方法是将insert和update操作用线程去执行。...原创 2021-05-11 10:40:43 · 264 阅读 · 1 评论 -
InnoDB的行锁模式及加锁方法
InnoDB实现了以下两种类型的行锁:共享锁(s):共享锁又称为读锁,简称S锁,顾名思义,共享锁就是多个事务对于同一数据可以共享一把锁,都能访问到数据,但是只能读不能修改。排他锁(X):排他锁又称为写锁,简称X锁,顾名思义,排他锁就是不能与其他所并存,如一个事务获取了一个数据行的排他锁,其他事务就不能再获取该行的其他锁,包括共享锁和排他锁,但是获取排他锁的事务是可以对数据就行读取和修改。另外,为了允许行锁和表锁共存,实现多粒度锁机制,InnoDB还有两种内部使用的意向锁(Intention Loc原创 2020-06-29 11:48:39 · 828 阅读 · 0 评论 -
明明白白的mongodb,redis,mysql 简要对比
mongodb:它是一个内存数据库,数据都是放在内存里面的。对数据的操作大部分都在内存中,但mongodb并不是单纯的内存数据库。持久化方式:mongodb的所有数据实际上是存放在硬盘的,所有要操作的数据通过mmap的方式映射到内存某个区域内。然后,mongodb就在这块区域里面进行数据修改,避免了零碎的硬盘操作。至于mmap上的内容flush到硬盘就是操作系统的事情了,所以,如果,m...原创 2019-12-26 14:29:21 · 423 阅读 · 0 评论 -
springboot2.0默认数据库连接池
springboot2.0默认数据库连接池是hikarihikarihikari的默认配置HikariCP-2.7.6-sources.jar!/com/zaxxer/hikari/HikariConfig.java@SuppressWarnings({"SameParameterValue", "unused"})public class HikariConfig implements...原创 2019-12-20 14:23:06 · 3854 阅读 · 0 评论 -
mysql中的char、varchar和text的选择
1、char(n)和varchar(n)中括号中n代表字符的个数,并不代表字节个数,所以当使用了中文的时候(UTF8)意味着可以插入m个中文,但是实际会占用m*3个字节。2、同时char和varchar最大的区别就在于char不管实际value都会占用n个字符的空间,而varchar只会占用实际字符应该占用的空间+1,并且实际空间+1<=n。3、超过char和varchar的n设置后,字...原创 2019-11-27 09:21:37 · 474 阅读 · 0 评论 -
MongoDB学习笔记
1、每次启动需要配置启动文件 mongod --dbpath G:\data\db 执行完上面命令再打开一个新的窗口执行 mongo 也可通过后台参数启动mongo: ./mongod -dbpath /data/mongo/ -logpath /data/mongo/mongo.log -logappend -fork -port 27017 2、show ...原创 2018-12-14 11:24:54 · 123 阅读 · 0 评论 -
MySQL压缩包zip安装
看了网上好多种教程,自己尝试失败了好多次,最后总算弄好了,具体如下zip下载地址:https://dev.mysql.com/downloads/mysql/之后点击No thanks, just start my download.下载之后解压文件然后配置环境变量,这样可以直接在cmd中输入mysql就可以运行,不用切换地址我这里win10直接在下方搜索...原创 2019-10-10 10:32:21 · 160 阅读 · 0 评论