[TOC]
前面几篇文章和大家聊了 MySQL 中的 MyISAM 引擎,也聊了 MySQL 一些进阶配置,还没看过的小伙伴可以先看看哦:
[TOC]
前面几篇文章和大家聊了 MySQL 中的 MyISAM 引擎,也聊了 MySQL 一些进阶配置,还没看过的小伙伴可以先看看哦:
[TOC]
存在即合理,虽然在互联网公司中 InnoDB 引擎使用较多,但是 MyISAM 引擎的特性自有它自己的使用场景,今天松哥就来和大家捋一捋 MyISAM,这也是我们 MySQL 进阶必经之路。
MyISAM 是 MySQL 的默认数据库引擎(5.5版之前),由早期的 ISAM 所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。最近几年,MySQL 逐渐使用 InnoDB 代替了 MyISAM,关于 InnoDB 和 MyISAM 的历史纠葛,松哥在上篇文章中(MySQL 体系架构简介)已经和大家介绍过了,这里就不再赘述。
[TOC]
当然不是!
其实本来今天是要和大家聊一聊 MyISAM 引擎的,结果在写的过程中,又发现锁这个话题可以单独写一篇,于是就有了今天的文章。
说到 MyISAM 和 InnoDB 的区别,很多人都知道,区别在于一个是表锁一个是行锁,那么小伙伴们有没有想过,表锁和行锁有什么区别?各自又有哪些玩法?今天松哥就来和大家聊聊这个话题。
[TOC]
前面三篇文章我们一起分析了外部环境对 MySQL 性能的影响,不过起决定作用的还是 MySQL 自身,今天我们就来看看 MySQL 体系架构,看看这个数据库到底是怎么组成的。
MySQL 是一个典型的 C/S 架构应用程序,MySQL Server 提供数据库服务,完成客户端的请求和操作,Client 则负责连接到 Server。很多初学者并不太容易区分出 MySQL Server 和 Client,因为当我们安装完 MySQL 之后,默认情况下 Server 和 Client 就都具备了,我们在命令行连接并登录 MySQL 服务,这个其实就是由 Client 提供的服务。MySQL 和其他关系型数据库不一样的地方在于它的弹性以及可以通过插件形式提供不同种类的存储引擎,MySQL 请求处理过程会根据不同的存储引擎发生变化,这是它的特色。
前面松哥和大家聊了 CPU 和内存对于数据库性能的影响,但是大家想想,无论如何,数据最终都是要存入硬盘中的,所以硬盘肯定也会影响到数据库的性能,那么硬盘到底是如何影响数据库性能的,今天我们就来简单聊聊。
硬盘的使用,有四个不同的方向:
接下来我们就针对这四个方向逐一进行分析。
[TOC]
松哥有两个小伙伴最近在帮人改造一个系统,对方原本的系统是一个用 Java GUI 做的桌面应用,现在要用 Spring Boot 改造成一个 Web 应用。原本的应用在 Mac 上运行的时候非常丝滑,但是在 Windows 上运行的时候,就特别卡。经过分析之后,发现是因为数据库中数据量过大导致每一次的查询都非常缓慢。
WebFlux 系列松哥已经连着写了十几篇了,Spring Security 系列之前更是发了 68 篇(公号后台回复 ss 获取系列教程),不过之前这两个教程都是分开讲的,还没有把这两个融合到一起讲过。
随着 WebFlux 的发展,我们有必要来了解下在响应式编程中如何使用 Spring Security。今天松哥就通过一个简单的案例来和大家分享下如何在 WebFlux 中使用 Spring Security。
不知不觉中,我们的 WebFlux 系列已经整到第 11 篇啦。如果小伙伴们还没看过前面的文章,记得先看一下哦,这有助于理解本文。
好啦,开始今天的正文。
Update your browser to view this website correctly. Update my browser now