• 欢迎访问 winrains 的个人网站!
  • 本网站主要从互联网整理和收集了与Java、网络安全、Linux等技术相关的文章,供学习和研究使用。如有侵权,请留言告知,谢谢!

用 explain 命令分析 MySQL 的 SQL 执行

用 explain 命令分析 MySQL 的 SQL 执行
在上一篇文章《MySQL常见加锁场景分析》中,我们聊到行锁是加在索引上的,但是复杂的 SQL 往往包含多个条件,涉及多个索引,找出 SQL 执行时使用了哪些索引对分析加锁场景至关重要。 比如下面这样的 SQL: mysql> delete from t1 where id = 1 or val = 1 其中 id 和 val 都是索引,那么执行时使……继续阅读 »

winrains 1周前 (06-28) 13浏览 0个赞

MySQL 死锁系列:常见加锁场景分析

MySQL 死锁系列:常见加锁场景分析
在上一篇文章《锁的类型以及加锁原理》主要总结了 MySQL 锁的类型和模式以及基本的加锁原理,今天我们就从原理走向实战,分析常见 SQL 语句的加锁场景。了解了这几种场景,相信小伙伴们也能举一反三,灵活地分析真实开发过程中遇到的加锁问题。 如下图所示,数据库的隔离等级,SQL 语句和当前数据库数据会共同影响该条 SQL 执行时数据库生成的锁模式,锁类型和……继续阅读 »

winrains 1个月前 (06-05) 26浏览 0个赞

MySQL 技巧:如何实现乐观锁

MySQL 技巧:如何实现乐观锁
使用 MySQL 5.7 做测试,数据库引擎为 InnoDB,数据库隔离级别为可重复读(REPEATABLE-READ),读读共享,读写互斥。在这个隔离级别下,在多事务并发的情况下,还是会出现数据更新的冲突问题。 先分析一下更新冲突的问题是如何产生的。 假设我们有一张销量表 goods_sale ,表结构如下: 字段 数据类型 说明 goo……继续阅读 »

winrains 1个月前 (06-05) 25浏览 0个赞

为什么数据库不应该使用外键

为什么数据库不应该使用外键
为什么这么设计(Why’s THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。如果你有想要了解的问题,可以在文章下面留言。 当我们想要持久化地存储数据时,使用关系型数据库往往都是最稳妥的选择,这不仅因为今天的关系型数据库种类非常丰富并且……继续阅读 »

winrains 1个月前 (06-05) 31浏览 0个赞

MySQL 如何对LRU算法进行优化

MySQL 如何对LRU算法进行优化
1. 开篇 MySQL 在查询数据时,对于 InnoDB 存储引擎而言,会先将磁盘上的数据以页为单位,先将数据页加载进内存,然后以缓存页的形式存放在「Buffer Pool」中。Buffer Pool 是 InnoDB 的一块内存缓冲区,在 MySQL 启动时,会按照配置的缓存页的大小,将 Buffer Pool 缓存区初始化为许多个缓存页,默认情况下,……继续阅读 »

winrains 2个月前 (05-19) 37浏览 0个赞

MySQL中order by语句的实现原理以及优化手段

MySQL中order by语句的实现原理以及优化手段
相信很多人在面试过程中,总被问到有没有 SQL 调优经验,对于工作经验年限较少的求职者,通常都是在面试之前从网上百度一些答案,提前背熟,然后面试的时候直接将提前背好的答案说出来。笔者作为一名菜鸟,在刚满一年工作经验的时候,出去面试,就是这么干的。记得去某家公司面试的时候,被面试官问到 order by 在排序的时候执行较慢,这个时候该如何优化?我当初想都……继续阅读 »

winrains 2个月前 (05-19) 32浏览 0个赞

MySQL 8.0安装部署

MySQL 8.0安装部署
MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 一.  Mysql8.0版本相比之前版本的一些特性 1) 默认编码utf8 默认编码使用utf8mb4, utf8mb4编码是utf8编码的超集,兼容utf8,并且能存储4字节的表情字符历史,MySQL数据库的 &#……继续阅读 »

winrains 2个月前 (05-15) 30浏览 0个赞

MySQL+MGR 单主模式和多主模式的集群环境

MySQL+MGR 单主模式和多主模式的集群环境
MySQL Group Replication(简称MGR)是MySQL官方于2016年12月推出的一个全新的高可用与高扩展的解决方案。MGR是MySQL官方在5.7.17版本引进的一个数据库高可用与高扩展的解决方案,以插件形式提供,实现了分布式下数据的最终一致性, 它是MySQL5.7版本出现的新特性,它提供了高可用、高扩展、高可靠的MySQL集群服务。M……继续阅读 »

winrains 2个月前 (05-15) 16浏览 0个赞