MySQL大表优化方案之升级硬件

升级硬件

Scale up,这个不多说了,根据MySQL是CPU密集型还是I/O密集型,通过提升CPU和内存、使用SSD,都能显著提升MySQL性能

读写分离

也是目前常用的优化,从库读主库写,一般不要采用双主或多主引入很多复杂性,尽量采用文中的其他方案来提高性能。同时目前很多拆分的解决方案同时也兼顾考虑了读写分离

缓存

缓存可以发生在这些层次:

  • MySQL内部:在系统调优参数介绍了相关设置
  • 数据访问层:比如MyBatis针对SQL语句做缓存,而Hibernate可以精确到单个记录,这里缓存的对象主要是持久化对象Persistence Object
  • 应用服务层:这里可以通过编程手段对缓存做到更精准的控制和更多的实现策略,这里缓存的对象是数据传输对象Data Transfer Object
  • Web层:针对web页面做缓存
  • 浏览器客户端:用户端的缓存

可以根据实际情况在一个层次或多个层次结合加入缓存。这里重点介绍下服务层的缓存实现,目前主要有两种方式:

  • 直写式(Write Through):在数据写入数据库后,同时更新缓存,维持数据库与缓存的一致性。这也是当前大多数应用缓存框架如Spring Cache的工作方式。这种实现非常简单,同步好,但效率一般。
  • 回写式(Write Back):当有数据要写入数据库时,只会更新缓存,然后异步批量的将缓存数据同步到数据库上。这种实现比较复杂,需要较多的应用逻辑,同时可能会产生数据库与缓存的不同步,但效率非常高。

表分区

MySQL在5.1版引入的分区是一种简单的水平拆分,用户需要在建表的时候加上分区参数,对应用是透明的无需修改代码

对用户来说,分区表是一个独立的逻辑表,但是底层由多个物理子表组成,实现分区的代码实际上是通过对一组底层表的对象封装,但对SQL层来说是一个完全封装底层的黑盒子。MySQL实现分区的方式也意味着索引也是按照分区的子表定义,没有全局索引

MySQL大表优化方案之升级硬件

用户的SQL语句是需要针对分区表做优化,SQL条件中要带上分区条件的列,从而使查询定位到少量的分区上,否则就会扫描全部分区,可以通过EXPLAIN PARTITIONS来查看某条SQL语句会落在那些分区上,从而进行SQL优化,如下图5条记录落在两个分区上:

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/4601.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
重蔚的头像重蔚管理团队
上一篇 2018年3月10日 16:35
下一篇 2018年3月10日 16:44

相关推荐

  • 经验分享mysql数据库主机搭建怎么登录。

    登录MySQL数据库主机可以通过以下几种方式:,,1. 通过mysql自带的客户端,MySQL 5.5 Command Line Client。但这种方式只适用于root用户,不够灵活,因此并不推荐。退出登录,可以使用exit命令或者是ctrl + c。,…

    2024年7月27日
    00
  • 我来教你织梦数据库配置文件。

    如何修改织梦企业后台联系方式 如果是织梦cms在后台设置的只能是网站名字,也就是品牌词,在系统设置里有。然后需要到对应模板修改,当然,一般人是不会去修改的,我是说如果你想要自己的网站基础优化好一点的话,…

    2024年6月28日
    00
  • 经验分享怎么使用mysqldump导出sql文件。

    您可以使用mysqldump命令来导出SQL文件。以下是一个示例命令:,,“,mysqldump -u [用户名] -h [ip] -p [密码] [数据库名] > [导出的文件名].sql,“ 什么是mysqldump? MySQLdump是一个用于备份MySQ…

    2024年7月6日
    00
  • PHP中的MySQL操作指南。

    PHP是Web开发中最常用的编程语言之一,而MySQL则是最受欢迎的关系型数据库管理系统之一。在Web应用程序开发过程中,PHP的一个主要功能就是与MySQL数据库进行交互,以存储和检索数据。本文将为您提供一个基本的MySQL…

    2023年5月23日
    00
  • 我来教你mysql怎么看服务器ip。

    您可以使用以下命令查看MySQL服务器的IP地址:,,“,ping hostname,`,,hostname是MySQL服务器的主机名。在使用该命令之前,需要确认是否安装了ping命令,若没有安装需要先安装。,,您也可以使用以下命令…

    2024年7月18日
    00
  • 服务器使用方法有哪些种类。

    服务器的使用方法和种类多种多样。常见的服务器类型包括物理服务器(独立服务器)、VPS服务器(虚拟专用服务器)、云服务器、虚拟主机以及裸金属服务器。根据应用场景的不同,我们还有数据库服务器用于运行和管理数…

    2024年7月9日
    01
  • PHP与数据库安全性的集成。

    随着网络技术的不断进步,数据库已经成为了各种网站和应用程序的核心之一。为了确保数据库中的数据得到充分保护,开发人员必须确保他们的应用程序和数据库系统之间的集成是安全的。PHP是一种常用的编程语言,也是许…

    2023年5月21日
    00
  • 小编教你html 如何用mysql数据库数据类型。

    在HTML中,我们无法直接使用MySQL数据库的数据类型,我们可以使用PHP、JavaScript等后端语言来连接MySQL数据库,并将数据类型转换为HTML所需的格式,下面我将详细介绍如何使用PHP和MySQL数据库数据类型。 (图片来…

    2024年6月24日
    00

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息