MySQL中发生死锁如何解决


自动检测与回滚MySQL自带死锁检测机制(innodb_deadlock_detect),当检测到死锁的时候,数据库会自动回滚其中一个事务,以接触死锁,通常会回滚事务中持有最少资源的那个。也有锁等待超时的参数(innodb_lock_wait_timeout),当锁等待超过这个时间后,MySQL会自

MySQL索引类型


按数据结构分B+树索引哈希索引倒排索引(Full-text 索引)R-树索引 (多维树空间)从InnoDB b+树索引来看,分为聚簇索引和非聚簇索引聚簇索引也就是主键索引,叶子节点存储整行的数据,非叶子节点存储主键值和指向子节点的指针。非聚簇索引叶子节点存储主键,非叶子节点存储主键值和指向子节点的指

监控MySQL状态的一些SQL


监控MySQL状态的一些SQL-- 查询未使用索引SELECT * FROM sys.schema_unused_indexes;-- 查询表的访问量SELECT table_schema,TABLE_NAME,SUM(io_read_requests + io_write_requests) AS

MySQL性能分析命令-MySQL Profiling


MySQL性能分析命令show profile什么是MySQL Profiling?MySQL Profiling是MySQL数据库提供的一套性能分析工具,可以帮助开发者和DBA了解SQL语句的执行细节,包括执行时间、资源消耗等信息,从而优化查询性能。SET PROFILING命令SET PROFI

mysqldumpslow分析慢查询日志


什么是 mysqldumpslow?mysqldumpslow 是 MySQL 自带的一个强大的命令行工具,用于分析慢查询日志。它帮助数据库管理员和开发人员通过解析和汇总慢查询日志文件,以可读的格式识别性能瓶颈。基本语法mysqldumpslow [选项] [日志文件...]常用选项详解基本过滤选项

RocketMQ 消息类型表


RocketMQ 支持的消息类型消息类型描述适用场景特点同步消息发送方发送后阻塞,等待 Broker 返回发送结果 (ACK) 后才继续后续操作。重要的通知、注册(确保消息投递成功才能继续)、对发送可靠性要求高的业务。- 可靠性最高 - 吞吐量相对较低 - 对发送延迟敏感异步消息发送方发送后不阻

Redis Skip List 跳表 Redis原理解析


Skip List Redis原理解析参考:视频链接: https://www.youtube.com/watch?v=RHmL6pDhS1whttps://github.com/KIDXO/DS-A/blob/master/data/17.跳表:为什么Redis一定要用跳表来实现有序集合.md为什

Redis持久化机制


Redis和Memcached的不同Redis 不同于 Memcached 的很重要一点就是,Redis 支持持久化,而且支持 3 种持久化方式:快照(snapshotting,RDB)只追加文件(append-only file, AOF)RDB 和 AOF 的混合持久化(Redis 4.0 新增

缓存与数据库一致性问题探究


缓存与数据库一致性缓存和数据库一致性是说在使用缓存的情况下,保证缓存中的数据和数据库中数据一致的问题。“先写缓存再写数据库”、“先写数据库再写缓存”、“先删除缓存再写数据库”这三种策略确实存在较大的数据不一致风险,因此通常不建议直接使用,特别是在高并发、分布式系统中。问题先写缓存再写数据库策略:先写

Redis AOF配置


Redis 的 AOF(Append Only File)持久化机制是另一种重要的数据持久化方式,它通过记录每条写命令来保证数据的完整性和可恢复性。1. 配置文件位置AOF 的配置同样在 redis.conf 文件中,路径可能是:/etc/redis/redis.conf或 Redis 安装目录下的