![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 82
记录数据库知识与问题
Tyfrank
记录学习过程,整理学习资料。博客内容大部分为参考多篇博客/文章/书籍/教程整理,仅供学习记录。
展开
-
【MySQL】分库分表问题
比如数据库拆分后,订单和库存在两个库中,一个下单减库存的操作,就涉及跨库事务。分库分表以后,数据分散存储到不同的数据库和表中,如果查询指定数据列表,或者需要对数据列表进行排序时,就变得异常复杂,则需要在内存中进行处理,整体性能会比较差,一般来说,会限制这类型的操作。将原本存储于单个数据库上的数据拆分到多个数据库,把原来存储在单张数据表的数据拆分到多张数据表中,实现数据切分,从而提升数据库操作性能。数据库主键:实现简单,单调递增,具有一定的业务可读性,强依赖db、存在性能瓶颈,存在暴露业务信息的风险。原创 2023-04-05 21:26:16 · 485 阅读 · 0 评论 -
用Redis实现消息队列的四种思路
Redis设计实现消息队列。原创 2023-04-05 17:37:32 · 1146 阅读 · 0 评论 -
【Redis持久化】RDB快照和AOF日志
Redis默认是把所有的数据都存在内存中的。但是当服务器重启或程序异常崩溃时,Redis的数据就会全部丢失。因此出现了持久化的概念。持久化就是将存在内存中的数据同步到磁盘来保证持久化。Redis 的一种持久化方式叫快照(snapshotting,RDB),另一种方式是只追加文件(append-only file, AOF)。原创 2023-03-13 16:23:41 · 350 阅读 · 0 评论 -
【数据库/MySQL】MySQL三大日志提要
主体主要参考自Javaguide对应章节Javaguide中的总结:MySQL InnoDB 引擎使用redo log(重做日志)保证事务的持久性,使用undo log(回滚日志)来保证事务的原子性。MySQL数据库的数据备份、主备、主主、主从都离不开binlog,需要依靠binlog来同步数据,保证数据一致性。原创 2023-02-27 16:49:06 · 293 阅读 · 0 评论 -
解决MySQL命令行输入密码闪退+不能启动问题
win10环境,新下载MySQL8.0.26。刚装完还是能用,两天没打开,突然出现了问题,下面记录一下解决过程。右键屏幕底部,打开任务管理器-服务,在服务中点击查看MySQL服务状态是否为开启。MySQL服务没有开启,搜索“cmd”,右键单击以管理员身份运行。在命令行窗口中键入(视个人安装路径,默认的是这个):cd C:\Program Files\MySQL\MySQL Server 8.0\bin来到该路径下,初始化,键入:mysqld --initialize回车后键入:net s.原创 2022-01-27 10:05:35 · 4899 阅读 · 8 评论 -
MyBatis入门学习
MyBatis入门学习MyBatis是一个Java持久化框架,它通过XML描述符或注解把对象与存储过程或SQL语句关联起来,映射成数据库内对应的纪录。与其他对象关系映射框架不同,MyBatis没有将Java对象与数据库表关联起来,而是将Java方法与SQL语句关联。MyBatis允许用户充分利用数据库的各种功能,例如存储过程、视图、各种复杂的查询以及某数据库的专有特性。如果要对遗留数据库、不规范的数据库进行操作,或者要完全控制SQL的执行,MyBatis是一个不错的选择。与JDBC相比,MyBati原创 2022-02-20 23:58:47 · 681 阅读 · 0 评论 -
【MySQL】事务与MVCC
在计算机术语中事务是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。数据库事务可以保证多个对数据库的操作(也就是 SQL 语句)构成一个逻辑上的整体。原创 2023-01-13 23:09:46 · 126 阅读 · 0 评论