请允许在我们的网站上展示广告
您似乎使用了广告拦截器,请关闭广告拦截器。我们的网站依靠广告获取资金。
我已知悉
首页
🌟2024年度总结
动态
橙Bot
导航
翻译橙
标签分类
文章归档
专栏
图库
友链
留言板
1
搞定系统设计:如何设计一个限流器?
2
探究分布式哈希算法:哈希取模与一致性哈希
3
程序员小张的职场逆袭:向上反馈的力量
4
《提示词从入门到精通》读后感
5
程序员的成长建议
橙序员
累计撰写
194
篇文章
累计创建
66
个标签
累计收到
4
条评论
栏目
首页
🌟2024年度总结
动态
橙Bot
导航
翻译橙
标签分类
文章归档
专栏
图库
友链
留言板
搜索
标签搜索
成长
公众号
事务
流处理
大数据
旅行
mongo db
SUNO
github
IDEA
安全
注解
总结
求职
分布式事务
CAP
分布式系统
loadbalancer
装修
买房
前端
方案设计
AIGC
JVM
资讯
Netty
NIO
BIO
zookeeper
RocketMQ
MySQL
stable diffusion
spring MVC
spring AOP
JDBC
mybatis
logback
docker
consul
spring event
新冠
连接池
redis
运维
nginx
hiper-v
DDD
搞笑
数据库
团建
游戏
Gradle
心情
好物
eureka
spring framework
spring boot
设计模式
apache common
ShardingSphere
KAFKA
leetcode
spring cloud
feign
ES
起点
目 录
CONTENT
以下是
数据库
相关的文章
2023-11-29
mongodb优化实践
存容量设置为2GB:wiredTiger.engineConfig.cacheSizeGB: 2设置缓存预加载:在WiredTiger配置项下,设置wiredTiger.engineConfig.cachePressure参数,用来指定缓存预加载的策略。可以将cachePressure设置为warm,表示在数据库冷启动时,会预加载缓存。例如:wiredTiger.engineConfig.cachePressure: warm保存配置文件并重启MongoDB:保存配置文件并重启MongoDB服务,使配置参数生效。通过以上步骤设置缓存容量和缓存预加载可以提高MongoDB在冷启动时的性能表现,并加快恢复到正常状态的速度。通过调整缓存容量和缓存预加载策略,可以最大程度地利用系统资源,提高MongoDB的性能和响应速度。
2023-11-29
512
0
0
开发技巧
2023-10-25
方案设计:构建高效数据处理系统
以保证数据写入的可靠性,即在数据写入失败时进行重试,直到成功为止。高并发对于高并发场景,需要考虑使用分布式缓存和消息队列等技术来提高系统的并发处理能力。综上所述,一个综合性的方案设计需要考虑业务需求、上线方案以及模型设计,并在数据推送、检索、同步、服务治理、数据写入等方面进行详细的设计和优化。这些方案设计的合理性和准确性直接影响着系统的性能、可靠性和扩展性。因此,在设计方案时应充分考虑各种因素,并选择合适的技术和工具来实现。
2023-10-25
747
0
0
开发技巧
2023-06-26
【译文】InooDb的锁机制
InnoDB 实现了标准的行级锁定,包括共享锁和独占锁两种类型。通过意向锁实现多粒度锁定,允许行锁和表锁共存。意向锁有意向共享锁(IS)和意向排他锁(IX)两种类型。InnoDB 也支持记录锁和间隙锁,用于对索引记录和间隙进行锁定。间隙锁是纯粹抑制性的,允许多个事务在同一间隙上持有冲突锁。临键锁是索引记录锁和间隙锁的组合,用于锁定索引记录及其之前的间隙。在 READ COMMITTED 隔离级别下,间隙锁会被禁用,只用于外键约束检查和重复键检查。临键锁可以防止其他事务在索引记录之前的间隙插入新记录。总体而言,InnoDB 的锁定机制可以有效控制并发访问,确保数据的一致性和安全性。
2023-06-26
533
0
0
文档翻译
2023-06-25
Mysql集群的使用场景
本文总结了主从复制的基本原理,包括主库的binlog和从库的relaylog,以及三种日志模式(statement level、row level和mixed)的优缺点。同时还介绍了主从延迟的原因和解决方法,以及读写分离的场景和中间件特征。此外还介绍了分库分表的概念,包括垂直和水平切分的优缺点,以及不同的数据分片和路由类型。总体来说,文章详细介绍了数据库复制、延迟、读写分离和分库分表等方面的内容,对于数据库管理和优化有一定的参考意义。
2023-06-25
650
0
0
开发技巧
2023-06-23
SQL语句如何优化
通过使用慢查询日志功能,可以获取执行时间较长的SQL语句并查看执行计划,然后通过show profile来查看SQL的性能使用情况,进而进行优化。开启慢查询日志需要在配置文件中添加相关参数,并使用mysqldumpslow工具分析慢查询日志。同时,通过explain查看SQL执行计划进行优化,包括合理创建索引、避免全表扫描、优化order by、group by语句以及避免使用count( * )等。此外,在关联表时建立索引、避免使用not in语句等也是优化的关键。通过以上方法,可以提高SQL查询的性能,减少查询时间,提升数据库性能。
2023-06-23
508
0
0
开发技巧
2023-06-23
Mysql锁机制详解:全局、表级和行级
Mysql中的锁可以按照粒度和功能进行区分,包括全局锁、表级锁和行级锁,以及共享锁和排他锁。全局锁用于数据库备份,表级锁和行级锁用于数据操作。innodb引擎支持事务,可以通过不同的参数来实现备份和锁定数据。行级锁包括记录锁、间隙锁和临键锁,用于保证数据的一致性和避免幻读。不同事务的加锁规则和避免死锁的方法也需要注意。通过优化索引、避免不必要的行扫描和快速提交事务等方式可以提高运行速度和减少死锁的发生。详细内容可参考官方文档。
2023-06-23
502
0
0
开发技巧
2023-06-19
索引之争:B+树vs.组合索引vs.覆盖索引,你选择哪个?
索引在数据库中起到了提高数据检索效率和降低IO成本的作用。不同的数据结构实现索引有各自的优缺点,如Hash表适用于等值查询但不支持范围查询,而B+树在等值查询和范围查询方面效果均较好。在MySQL中,不同引擎的索引实现也有所区别,如InnoDB引擎使用B+树构建聚簇索引,而MyISAM引擎的主键索引和辅助索引结构相同。为了避免回表查询,可以创建覆盖索引,提高命中率。建立索引的原则包括频繁出现在where条件、order by、group by语句中的字段以及需要频繁查询的列等。需要注意的是,索引的建立要考虑字段的区分度和长度,避免过多的索引导致更新和插入变慢。综上所述,合理使用不同数据结构和引擎的索引实现,并按照建立索引的原则进行优化,可以有效提升数据库的查询效率。
2023-06-19
475
0
0
开发技巧
2023-06-18
InnoDB内存结构与事务管理
InnoDB是一种常用的数据库引擎,其内存结构包括缓冲池、额外内存池、双写和重做日志。通过配置参数可以设置缓冲池的大小,其中存储了数据页、索引页、undo页等信息以提升数据库性能。另外,插入缓冲、自适应哈希索引等功能也有助于提高插入和查询性能。重做日志缓冲则确保数据写入磁盘时的持久性。检查点机制用于管理缓冲池和重做日志的大小,避免数据丢失。在事务管理方面,InnoDB采用MVCC实现数据一致性,通过undo log和read view来实现多版本并发控制。不同隔离级别下的事务访问不同方式的数据版本,以确保数据的完整性和可靠性。通过对数据的变更记录加上版本记录,可以避免锁的性能影响和死锁问题。总之,InnoDB引擎通过优秀的内存管理和事务控制机制,提供高性能和数据一致性的支持。
2023-06-18
657
0
0
开发技巧
2023-06-04
深入解析MySQL架构:核心要点揭秘
本文介绍了MySQL存储目录的文件结构,包括日志、表空间、数据文件、重做日志和缓冲池。其中,日志文件记录了数据库的操作信息和错误信息;表空间包含系统表空间和用户表空间;重做日志文件用于恢复数据的正确状态;缓冲池用于提高数据库整体性能。此外,还介绍了MySQL的逻辑结构,包括Server层和存储引擎层,以及连接器的作用。在连接数据库时,建议定期断开长连接以释放内存,并合理设置查询缓存以提高性能。
2023-06-04
479
0
0
开发技巧
2023-04-02
Mybatis如何简化CRUD过程?
本文介绍了Java如何连接数据库的过程,包括加载驱动、创建连接和执行SQL等步骤。对于CRUD操作中的重复操作,需要针对每张表进行处理,将查询结果封装到实体类中,实现数据的持久化。文章还提到了如何避免重复代码和硬编码,面对多样的查询和更新需求应该做到结果集解析一次、多处可用。针对数据库操作的需求实现,提出了解决表对象关系映射、类的持久化、保存结果集和转义数据库信息配置等4个大问题,并给出了实现步骤和对象职责的详细分析。总体而言,本文通过具体案例和步骤展示了如何用最小改动或不改动应对多样需求,提高代码复用性和安全性。
2023-04-02
890
2
1
开发技巧
2023-03-26
java如何连接数据库?
本文主要介绍了如何使用Java连接数据库以及JDK如何规范不同数据库驱动的实现。对于执行SQL操作,需要包括连接数据库、执行SQL、解析结果集等步骤。文章还提到了在java.sql.*中关于SQL相关的接口和工具类的作用。针对查询MySQL数据库的技术方案,包括连接MySQL服务端、执行命令、创建数据库连接、执行SQL及解析返回结果等步骤。文章还介绍了面向对象的实现方式以及数据库驱动、数据库连接、SQL执行器和结果集对象的职责。最后,文章探讨了JDK如何封装数据库驱动、数据库连接、SQL执行器和结果集,以及其他框架如何进一步封装这些对象。文章总结了类加载阶段注册驱动和基于Java socket编程连接数据库的方法。整体来看,本文详细介绍了Java连接数据库的相关知识。
2023-03-26
718
0
0
开发技巧
2023-03-03
chatGPT来面试-数据库篇
数据库的三级缓存指的是Hibernate框架中的缓存机制,包括Session缓存、SessionFactory缓存和Query缓存。Hibernate通过这三个层级的缓存提高了应用程序的性能和响应速度。相比之下,MyBatis也提供了缓存机制,包括一级缓存和二级缓存,通过本地缓存和应用程序内存缓存来提高查询性能。缓存机制是基于Java的HashMap实现的,能够有效提高查询性能和应用程序的响应速度。此外,数据库使用MVCC保证事务的一致性,通过给数据行分配版本号,实现多个事务同时对数据库进行读写操作,保证事务之间的隔离性和一致性。MVCC的实现方法包括生成新版本号、读取相应版本的数据行和标记已提交/已删除的数据行,确保事务提交后其他事务只能读取已提交的数据版本。
2023-03-03
534
0
0
开发技巧
2022-12-03
【译文】c3p0使用介绍文档
c3p0是一个易于使用的库,用于增强传统JDBC驱动程序,使其更适合企业应用程序使用。使用c3p0只需将相关jar文件放入CLASSPATH中,创建DataSource对象,并根据需要配置属性即可。c3p0提供了连接和PreparedStatement的池化服务,支持JDBC2、3和4规范,并可以与第三方实现混合使用。使用c3p0可以绑定DataSource到JNDI名称服务,并通过配置文件设置默认值。通过ComboPooledDataSource实例化并配置是创建c3p0池化DataSource的直接方式,用户可以控制池相关、命名相关和其他属性。总的来说,c3p0为用户提供了方便的方式来管理数据库连接,适用于大型J2EE企业应用程序。
2022-12-03
1422
0
0
文档翻译
2022-10-09
MVCC相关问答
该文总结了关于间隙锁和readView的问题。首先介绍了间隙锁中索引为string时如何确定范围,字符串排序规则等。其次讨论了readView的开启时间和创建时机,解释了不同事务中readView的生成方式。最后通过一个示例说明了在事务中对teacherId进行更新时,事务A会读取到的值。通过MVCC的版本特性,解释了事务A对自身的readView不可见,因此在无锁select查询时仍会读取到更新前的数值。
2022-10-09
603
0
0
开发技巧
2022-09-21
SQL索引的优先级
MySQL在索引使用时,通常会将数据最小的字段放在前面,以最能确定结果的字段为主,以减小检索范围。在查询过程中,MySQL会自动调整字段顺序以优化索引顺序。举例说明了在查询指令表中某一指令在最近3个月未完成结果时,如何通过优化索引和缩小查询范围来提高查询效率。在多条件查询中,MySQL会选择扫描行数最少的索引,以减少查询时间。通过调整索引顺序、添加联合索引或缩小查询范围等方式,可以有效提高查询效率。
2022-09-21
1057
0
0
开发技巧