MySQL
文章平均质量分 93
九城风雪
这个作者很懒,什么都没留下…
展开
-
Process的waitFor死锁问题及解决办法
Process的waitFor死锁问题及解决办法一、问题概述最近在项目开发中,遇到一个问题, java主线程使用Runtime.exec调用子线程执行shell脚本命令,子线程一直阻塞,而主线程调用process.waitfor()等待子线程返回执行结果,主线程迟迟等不到子线程的返回结果,程序一直阻塞。示例代码如下:import lombok.extern.slf4j.Slf4j;import java.io.BufferedReader;import java.io.InputStream;原创 2021-11-10 16:11:36 · 696 阅读 · 0 评论 -
1.8w 字详解 SQL 优化
本文涉及三部分:SQL介绍SQL优化方法SQL优化实例转载 2024-03-18 17:07:59 · 44 阅读 · 0 评论 -
MySQL MVCC实现原理
这里介绍了 MVCC 在 READ COMMITTD 、 REPEATABLE READ 这两种隔离级别的事务在执行快照读操作时访问记录的版本链的过程。这样使不同事务的 读-写 、 写-读 操作并发执行,从而提升系统性能。READ COMMITTD 在每一次进行普通SELECT操作前都会生成一个ReadViewREPEATABLE READ只在第一次进行普通SELECT操作前生成一个ReadView,之后的查询操作都重复使用这个ReadView就好了。转载 2023-09-17 12:14:35 · 97 阅读 · 0 评论 -
什么是同城双活、异地双活、异地多活
有状态服务后台服务可以划分为两类,有状态和无状态。高可用对于无状态的应用来说是比较简单的,无状态的应用,只需要通过F5或者任何代理的方式就可以很好的解决。后文描述的主要是针对有状态的服务进行分析。服务端进行状态维护主要是通过磁盘或内存进行保存,比如MySQL数据库,redis等内存数据库。除了这两种类型的维护方式,还有jvm的内存的状态维持,但jvm的状态生命周期通常很短。高可用的一些解决方案高可用,从发展来看,大致经过了这几个过程:冷备双机热备同城双活异地双活异地多活在聊异地多活的时转载 2021-10-20 23:22:27 · 3928 阅读 · 0 评论 -
MVCC原理
什么是MVCCMVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。mvcc - @百度百科多版本控制: 指的是一种提高并发的技术。**最早的数据库系统,只有读读之间可以并发,读写,写读,写写都要阻塞。引入多版本之后,只有写写之间相互阻塞,其他三种操作都可以并行,这样大幅度提高了InnoDB的并发度。**在内部实现中,与Postgres在数据行上实现多版转载 2021-10-18 22:26:45 · 360 阅读 · 0 评论 -
MySQL索引
一、什么是索引索引是对数据库表中一列或多列的值进行排序的数据结构。表面层次来讲,索引就像一本书的目录,可以快速访问数据库表中的特点信息。深层次来看,索引是帮助MySQL高效获取数据的排好序的数据结构,这个数据结构可以是平衡二叉树、红黑树、Hash表、B-Tree、B+Tree二、索引数据结构解析演化:二叉树——红黑树——B-Tree——B+Tree1、排序二叉树假设有一表:t有一sql语句:select * from t where t.col2=89无索引时,进行全表遍历,直到符合条转载 2021-05-31 19:54:15 · 158 阅读 · 0 评论 -
mysql的事务四个特性以及事务的四个隔离级别
事务指的是满足 ACID 特性的一组操作,可以通过 Commit 提交一个事务,也可以使用 Rollback 进行回滚。一、事务的四大特性(ACID)1、原子性(Atomicity)事务被视为不可分割的最小单元,事务的所有操作要么全部提交成功,要么全部失败回滚。回滚可以用回滚日志来实现,回滚日志记录着事务所执行的修改操作,在回滚时反向执行这些修改操作即可。2、一致性(Consistency)一致性是指事务必须使数据库从一个一致性状态变...转载 2020-10-12 10:42:54 · 892 阅读 · 0 评论