![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 96
CJ_suixin
这个作者很懒,什么都没留下…
展开
-
Mongotemplate 向一个文档中的数组插入一个集合的方法
找了很久没找到答案,mongdb高版本的pushall方法已经被废弃了,最后在官方文档看到一个方法:现有文档数据需要向likes中批量添加数据,比如添加一个listjava代码如下,push方法不检查重复的值,效率高Update update = new Update(); update.push("likes").each(objects); mongoTemplate.updateFirst(Query.query(Criteria.where原创 2020-11-10 11:43:08 · 2147 阅读 · 0 评论 -
redis持久化、主从同步、集群
redis为什么很快redis常用数据类型String,最基本的数据类型,二进制安全(可包含任何数据,512M)原创 2020-07-10 00:41:56 · 261 阅读 · 0 评论 -
MySql数据库锁模块
区别MyISAM默认为表级锁,不支持行级锁InooDB默认为行级锁,同时支持表级锁MyISAM的锁读锁(又叫共享锁)当有一个对表进行查询的操作在执行的时候,将会对表上一个表锁,其他对表的修改操作将不能执行,但是其他对表的读取操作能够执行。所有又叫共享锁写锁(又叫排他锁)当有一个对表进行写入的操作时,会对表上一个写锁,其他对表的查询、修改操作都不能够被执行,所以又叫做排他锁。还可以手动上锁与解锁InooDB的锁使用二段锁(先对同一个事物中的操作加锁,在commit的时候再解锁)默原创 2020-07-07 02:12:13 · 198 阅读 · 0 评论 -
SQL调优笔记
如何定位并优化慢查询sql具体场景需要具体分析,主要思路如下根据慢日志定位慢sql使用explain工具分析sql修改sql尽量让SQL走索引Mysql操作过程使用语句SHOW VARIABLES LIKE '%quer%'查看数据库参数根据SHOW STATUS LIKE '%slow_queries%' 查看系统 状态中慢查询的数量(只是本次会话的慢sql条数)将慢查询日志开关打开(该操作和下面一条操作才重启mysql后会失效,如果想永久保存需要到数据库配置文件中修改)SE原创 2020-07-07 01:07:19 · 129 阅读 · 0 评论 -
索引的数据结构、密集索引与稀疏索引、最左匹配原则
索引的数据结构b-treeb+ -tree为什么b+ -tree更适合用于建立索引磁盘读写代价更低(非叶子节点不存储关键字信息,只存放指针,这样每个节点能够存储跟多的指针,极大的减少了树的层数)查询效率更加稳定(每次查找的路径都需要一直到叶子节点,所需时间更加稳定)更有利于数据库的扫描(可通过叶子节点之间连接的指针进行范围查找或者遍历整棵树)hash索引为什么hash所以不能成为主流BitMap位图索引密集索引和稀疏索引密集索引文件中每个文件的搜索码都对应一个索引值稀原创 2020-07-06 17:22:58 · 464 阅读 · 0 评论 -
SSM 整合mybatis 报错 Access denied for user ............ (using password: YES)
在spring配置文件中配置数据源若使用了如下这种引入外部配置文件的方法name在jdbc配置文件若参数为username就会报错nested exception is java.sql.SQLException: Access denied for user 'é�’æŸ _'@'localhost' (using password: YES)如何解决:方法1:此时需要将配置...原创 2020-03-02 17:17:05 · 807 阅读 · 0 评论 -
事务的四大特性/脏读、不可重复读、幻读?/spring事务的隔离级别与传播特性
spring默认事务级别:使用数据库自己的隔离级别脏读、不可重复读、幻读1、脏读: 事务1修改了数据,但是还没有提交,这时候被事务2读取了。此时事务1又回滚了,导致事务2读取的数据是脏数据2、不可重复读: 事务1两次读取数据,再此期间事务2对数据进行了修改,导致两次的时局不一致。3、幻读: 事务1修改了全表的数据,然后又查询全表数据观察结果是否符合预期。但在查询之前事务2有插入了一...原创 2020-03-22 22:38:35 · 471 阅读 · 0 评论 -
PreParedStatement对象的执行方法
PreParedStatement对象PreParedStatement对象是sql的预编译语句对象,它的执行方法有3种execute:可以执行任何crud语句,返回结果为true或false 代表是否有结果集。executeQuery:只能执行select语句 ,返回结果为查询的结果集。executeUpdate:能执行cud语句,返回结果为受影响的行数。...原创 2019-12-09 15:22:52 · 960 阅读 · 0 评论