关于 MyISAM 引擎你可能不知道的三件事

[TOC]

存在即合理,虽然在互联网公司中 InnoDB 引擎使用较多,但是 MyISAM 引擎的特性自有它自己的使用场景,今天松哥就来和大家捋一捋 MyISAM,这也是我们 MySQL 进阶必经之路。

1.MyISAM

MyISAM 是 MySQL 的默认数据库引擎(5.5版之前),由早期的 ISAM 所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。最近几年,MySQL 逐渐使用 InnoDB 代替了 MyISAM,关于 InnoDB 和 MyISAM 的历史纠葛,松哥在上篇文章中(MySQL 体系架构简介)已经和大家介绍过了,这里就不再赘述。

这个 MySQL 索引选择性有点意思!

索引小伙伴们肯定经常用!但是有一种前缀索引不知道大家有没有用过或者听说过?今天松哥就来和大家聊一聊 MySQL 里边的这个前缀索引。

1.什么是前缀索引

所谓前缀索引说白了就是对文本的前几个字符(具体是几个字符在建立索引时指定)建立索引,这样建立起来的索引更小,所以查询更快。这有点类似于 Oracle 中对字段使用 Left 函数来建立函数索引,只不过 MySQL 的这个前缀索引在查询时是内部自动完成匹配的,并不需要使用 Left 函数。

MySQL 中的表级锁很差劲吗?

[TOC]

当然不是!

其实本来今天是要和大家聊一聊 MyISAM 引擎的,结果在写的过程中,又发现锁这个话题可以单独写一篇,于是就有了今天的文章。

说到 MyISAM 和 InnoDB 的区别,很多人都知道,区别在于一个是表锁一个是行锁,那么小伙伴们有没有想过,表锁和行锁有什么区别?各自又有哪些玩法?今天松哥就来和大家聊聊这个话题。

MySQL 体系架构简介

[TOC]

前面三篇文章我们一起分析了外部环境对 MySQL 性能的影响,不过起决定作用的还是 MySQL 自身,今天我们就来看看 MySQL 体系架构,看看这个数据库到底是怎么组成的。

MySQL 是一个典型的 C/S 架构应用程序,MySQL Server 提供数据库服务,完成客户端的请求和操作,Client 则负责连接到 Server。很多初学者并不太容易区分出 MySQL Server 和 Client,因为当我们安装完 MySQL 之后,默认情况下 Server 和 Client 就都具备了,我们在命令行连接并登录 MySQL 服务,这个其实就是由 Client 提供的服务。MySQL 和其他关系型数据库不一样的地方在于它的弹性以及可以通过插件形式提供不同种类的存储引擎,MySQL 请求处理过程会根据不同的存储引擎发生变化,这是它的特色。

硬盘是如何影响数据库性能的?

前面松哥和大家聊了 CPU 和内存对于数据库性能的影响,但是大家想想,无论如何,数据最终都是要存入硬盘中的,所以硬盘肯定也会影响到数据库的性能,那么硬盘到底是如何影响数据库性能的,今天我们就来简单聊聊。

硬盘的使用,有四个不同的方向:

  1. 传统的机械硬盘。
  2. 使用 RAID 增强机械硬盘性能。
  3. 使用固态存储 SSD。
  4. 使用网络存储 NAS 和 SAN。

接下来我们就针对这四个方向逐一进行分析。

CPU 以及内存从哪些方面影响 MySQL 性能?

[TOC]

影响 MySQL 性能的因素很多,今天咱们来看看 CPU 和内存是如何影响 MySQL 性能的,以及我们在购买服务器的时候,该如何挑选这些配置。

CPU

在挑选数据库服务器的时候,是买多核 CPU 还是高主频 CPU?相信有小伙伴可能遇到过类似的问题,作为开发工程师,公司负责采购的小伙伴可能会向我们抛出上面这个问题,那么该如何回答呢?

是什么影响了 MySQL 的性能?

[TOC]

松哥有两个小伙伴最近在帮人改造一个系统,对方原本的系统是一个用 Java GUI 做的桌面应用,现在要用 Spring Boot 改造成一个 Web 应用。原本的应用在 Mac 上运行的时候非常丝滑,但是在 Windows 上运行的时候,就特别卡。经过分析之后,发现是因为数据库中数据量过大导致每一次的查询都非常缓慢。

WebFlux 和 Spring Security 会碰出哪些火花?

WebFlux 系列松哥已经连着写了十几篇了,Spring Security 系列之前更是发了 68 篇(公号后台回复 ss 获取系列教程),不过之前这两个教程都是分开讲的,还没有把这两个融合到一起讲过。

随着 WebFlux 的发展,我们有必要来了解下在响应式编程中如何使用 Spring Security。今天松哥就通过一个简单的案例来和大家分享下如何在 WebFlux 中使用 Spring Security。

WebFlux 中的请求地址路由怎么玩?

[TOC]

在 SpringMVC 中,我们可以通过如下一些注解来控制请求 URL 和处理器之间的映射关系:

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×