MySQL
文章平均质量分 57
数据库
泰山与水
古今之成大事者,不惟有超世之才,亦惟有坚韧不拔之志
展开
-
Tidb和MySQL性能简单测试对比
传统关系型数据+分布式关系型数库原创 2024-03-31 14:49:04 · 1023 阅读 · 0 评论 -
ES使用场景分析及数据库选型
数据库选型大全原创 2022-03-05 13:48:23 · 3417 阅读 · 1 评论 -
存储结构说明
思考kafka的日志文件结构redis的存数文件结构ES的存储文件结构TiDB的存储解构HBase的文件储存解构ZK的文件存储结构他们的共同点:写备份确保一致性,备份可以是日志,可以是副本,可以是本地备份,可以是分布式备份 利用OS的页缓存特性 内存buffer,异步写、批量写、顺序写提升IO效率 数据结构,不同的存储组件的数据结构不同,这是它们自身的特性不同确定的......原创 2022-02-20 09:58:11 · 1313 阅读 · 0 评论 -
MySQL核心知识点结构图
原创 2022-02-20 09:11:57 · 388 阅读 · 0 评论 -
通过学MySQL学活架构设计,举一反十
普通开发者一般会学习到MySQL中的知识点:索引、锁、日志、事务、备份等,下面我漫谈一下我自己学MySQL领悟到的一些东西。仅仅是自己的感悟,有错误请指正,忘海涵!索引想到索引首先想到的是数据结构和算法,其实可以再扩展一下:数组也有索引的思想,通过下标转换拿到元素的真实地址然后操作内存空间,下标和地址的转换函数关系可以理解为索引寻找数据的过程,唯一索引也可以通过B+树直接定位具体一行数据的地址; 索引是数据库的最底层的核心,数据库的数据存储、查找、更新、加锁都依赖它; 为什么是B+树索引原创 2021-10-30 17:09:11 · 152 阅读 · 0 评论 -
MySQL 更新一条数据,redo log 和 binlog 日志流程
MySQL 更新一条数据的日志流程原创 2021-10-18 17:37:42 · 810 阅读 · 1 评论 -
MySQL 锁分类
全局锁 全局锁就是对整个数据库实例加锁 命令是 Flush tables with read lock (FTWRL) 整个库处于只读状态的时候 以下语句会被阻塞:数据更新语句(数据的增删改)、数据定义语句(包括建表、修改表结构等)和更新类事务的提交语句 全局锁的典型使用场景是,做全库逻辑备份 官方自带的逻辑备份工具是 mysqldump。当 mysqldump 使用参数–single-transaction 的时候,导数据之前就会启动一个事务,来确保拿到一致性视图。而由..原创 2021-10-13 10:46:04 · 79 阅读 · 0 评论 -
索引的优化
覆盖索引前缀索引索引下推原创 2021-10-12 11:29:06 · 53 阅读 · 0 评论 -
如何计算一颗B+树索引的空间占用
B+树聚簇索引上图是B+树聚簇索引的结构图原创 2021-10-12 09:51:48 · 714 阅读 · 0 评论 -
MySQL相关问答
1、Online DDL的过程和理解1. 拿MDL写锁2. 降级成MDL读锁3. 真正做DDL4. 升级成MDL写锁5. 释放MDL锁1、2、4、5如果没有锁冲突,执行时间非常短。第3步占用了DDL绝大部分时间,这期间这个表可以正常读写数据,是因此称为“online ”...原创 2021-09-24 17:55:14 · 153 阅读 · 0 评论 -
MySQL-间隙锁-加锁规则
MySQL 后面的版本可能会改变加锁策略,本文只适用版本:5.x 系列 <=5.7.248.0 系列 <=8.0.13间隙锁在可重复读隔离级别下才有效,以下规则只描述了间隙锁:原则 1:加锁的基本单位是 next-key lock,next-key lock 是前开后闭区间原则 2:查找过程中访问到的对象才会加锁。这和锁的普适概念,竞争的资源才会加锁同理优化 1:索引上的等值查询,给唯一索引加锁的时候,next-key lock 退化为行锁优化 2:索引上的等值查转载 2021-09-19 11:30:40 · 1652 阅读 · 0 评论 -
MySQL 常用调优参数学习笔记
show variables like '%sync_binlog%';show variables like '%innodb_flush_log_at_trx_commit%';show variables like '%binlog_cache_size%';show variables like '%innodb_log_buffer_size%';show variables like '%binlog_group_commit_sync_delay%';show variab原创 2021-09-09 18:19:22 · 331 阅读 · 0 评论 -
MySQL-MHA手动切换
环境检查当前数据库集群环境运行状态,包括主从复制状态和SSH能力检查主从复制状态 在MHA的manager服务器执行命令:asterha_check_repl --conf={MHA路径}/conf/app.cnf 检查主从SSH服务 在MHA的manager服务器执行命令:masterha_check_ssh --conf={MHA路径}/conf/app.cnf 校验主库和其他从库的GTID一致性 获取主从库GTID值,主从库分别执行命令,主先执行,从再执行,执行时...原创 2021-07-11 15:36:12 · 268 阅读 · 0 评论 -
JPA查询常规速查
一、常用规则速查1 And 并且2 Or 或3 Is,Equals 等于4 Between 两者之间5 LessThan 小于6 LessThanEqual 小于等于7 GreaterThan 大于8 GreaterThanEqual 大于等于9 After 之后(时间) >10 Before 之前(时间) <11 IsNull 等于Null1...原创 2020-07-27 19:20:45 · 1909 阅读 · 0 评论 -
数据库查询慢可能有哪些原因引起?
以下只是我针对数据库查询慢这个问题想到的可能的原因和一些解决办法的简单罗列,每一个问题和解决办法都可以详细描述很多,后面的再针对每一个点进行谈论一、应用的问题数据库表设计不合理,应该加索引的字段没有加索引 查询sql语句是不是编写不合理,查询的时候没有加索引 查询sql语句的条件加了索引,但是查询的时候没有命中索引,比如:前缀匹配失效、条件字段做了类型转换或者使用了函数、使用了范围查询等;使用 explain 查看索引命中情况 ;参考 数据库中的单表的数据量达到了多少?1000万?500.原创 2020-06-08 16:07:56 · 3559 阅读 · 0 评论 -
Druid线程池中的连接什么时候会关闭?
Druid线程池帮我们实现了应用程序和数据之间的长连接管理,一个线上变更引起了我的疑问,如果我们数据库切换到备用集群,怎么变更?数据库连接,一般都是域名连接,现在将域名和IP的绑定关系变了,更新ngix,通过域名能找到新的Ip,然后期望通过新IP连接数据库。此时应用程序中的数据库连接池中还保持老IP的连接,这样会造成新的连接走到新数据库,老的连接走到老数据库。为了解决这个问题,我们当时的操作是手动将老的数据库kill了,使连接池中的老的连接失效重连到新的IP,这样操作,目标是实现了,但是风险很大,如果原创 2020-05-21 15:34:17 · 6439 阅读 · 0 评论