10MySQL优化

1.有哪些方向可以优化

1.1分库分表

我们可以将一个数据库/表,进行拆分,将其放到多台服务器上,来缓解数据量过大的问题、高并发状态下数据库频繁查询导致效率很低的问题。

分库分表可以垂直拆分和水平拆分:

比如我们的项目之前就是使用的是垂直分表,将原来的数据库拆分为5个数据库,这个就是垂直分库,但是条件受限,我们无法让这5个数据库运行在5个不同的服务器上,这5个数据库仍然共同竞争同一台服务器的CPU、内存、磁盘I/O和网络带宽,性能提升有限。

1.2读写分离

对于数据库来说,读的速度要远快于写的速度,但是绝大多数操作都是读操作(比如用户管理系统,绝大多数操作都是读取用户信息,只有创建、修改、删除用户时才会用到写操作),我们可以将原来的一个数据库复制一个一模一样的,然后一个负责读操作,一个负责写操作,这样可以提高性能。

2.MyCat

如果让我们自己实现分库分表、读写分离,会很麻烦,而且中间会有很多错误,所以我们需要借助外部工具,MyCat就是这样一个帮助实现数据库分库分表、读写分离的工具

可以到| MYCAT官方网站—中国开源分布式数据库中间件这个网站进行下载,也可以跟着13. 运维-分库分表-MyCat概述-安装_哔哩哔哩_bilibili这个教程进行下载

学习资料【尚硅谷】MyCat2入门到实战教程(轻松掌握mycat)_哔哩哔哩_bilibili

3.使用MyCat实现分库分表

垂直分库分表可以按照下图中这个案例来实现:19. 运维-分库分表-Mycat分片-垂直分库_哔哩哔哩_bilibili

水平分库分表可以仿照下面来实现:21. 运维-分库分表-Mycat分片-水平分表_哔哩哔哩_bilibili

4.使用MyCat实现读写分离

37. 运维-读写分离-一主一从准备_哔哩哔哩_bilibili 38. 运维-读写分离-一主一从读写分离_哔哩哔哩_bilibili

核心在于配置的时候标明主从关系

由于本项目条件受限,没有多台服务器,就算在一台服务器上实现了分库分表、读写分离也是共同消耗一台服务器的CPU、磁盘IO,不能提高性能,所以本项目并未实现上述内容

2 条评论

  1. 翡翠潟湖

    研究你的文章, 我明白, 旅行带来灵感。无限感谢 旅行气氛。

    2026-01-23 01:49 回复
  2. JosephNor

    我早就想, 能像你们一样多旅行。超级内容。 日落點 谢谢 这些有趣的文章。真正 有益。

    2026-01-29 23:38 回复

回复 JosephNor 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注