mysql 案例 ~ 瘦身mysql系列(1)

一 简介:这一系列我们要进行如何瘦身mysql

二 目的:通过提高CPU利用率和节约成本,降低数据库容量及I/O负载,从而使数据吞吐率得到显著提高

三 方法:

利用innodb的COMPRESSED

四 如何开启

第一,mysql的版本需要大于5.5,mysql系统表是无法进行压缩的 
  第二,设置innodb_file_format=barracuda 
  第三,create table或者alter talble 增加 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;(默认的key_block_size=16)

五 对于现有的表如何进行转化压缩

alter table test KEY_BLOCK_SIZE=8; 默认是16,数值越小压缩率越高,但是解压所消耗的资源率越高

六 目标:

1 针对 数据短时间用不到而且需要保留的大表,可以进行压缩和处理->冷表

2 针对 只有单一insert和select业务的大表,考虑进行压缩和处理

3 针对 频繁业务的大表,不推荐进行压缩处理,可能会影响并发

七  相关参数

innodb_compression_level:决定压缩程度的参数 如果你设置比较大,那么压缩比较多,耗费的CPU资源也较多;相反,如果设置较小的值,那么CPU占用少。默认值6,可以设置0-9
innodb_compression_failure_threshold_pct:默认值5,范围0到100.设置中断点避免高昂的压缩失败率。
innodb_compression_pad_pct_max:指定在每个压缩页面可以作为空闲空间的最大比例,该参数仅仅应用在设置了innodb_compression_failure_threshold_pct不为零情况下,并且压缩失败率通过了中断点。默认值50,可以设置范围是0到75.

原文地址:https://www.cnblogs.com/danhuangpai/p/9661838.html

时间: 2024-08-30 09:45:41

mysql 案例 ~ 瘦身mysql系列(1)的相关文章

mysql服务端安装的系列问题处理

1.mysql服务无法启动,报1067错误解决方案:1).把mysql服务端解压目录新加一个my.ini文件,内容如下 [mysqld]# set basedir to installation path, e.g., c:/mysql# 设置为MYSQL的安装目录basedir=c:/tool/mysql5617win32# set datadir to location of data directory,# e.g., c:/mysql/data or d:/mydata/data# 设置

【MySQL案例】HA: GTID_MODE配置不一致

1.1.1. HA: GTID_MODE配置不一致 [环境描述] msyql5.6.14 [报错信息] 初始状态Master和Slave都开启了enforce-gtid-consistency和gtid-mode,然后在Master上把它俩都修改成了off关闭状态,这时,Slave发生报错: Last_IO_Error: The slave IO thread stopsbecause the master has @@GLOBAL.GTID_MODE OFF and this server [

【MySQL案例】error.log的Warning:If a crash happens thisconfiguration does not guarantee that the relay lo

1.1.1. If a crash happens thisconfiguration does not guarantee that the relay log info will be consistent [环境描述] msyql5.6.14 [报错信息] mysql的slave启动时,error.log中出现Warning警告: [Warning] Slave SQL: If a crash happensthis configuration does not guarantee tha

Android性能优化系列之apk瘦身

Android性能优化系列之布局优化 Android性能优化系列之内存优化 为什么APK要瘦身.APK越大,在下载安装过程中,他们耗费的流量会越多,安装等待时间也会越长:对于产品本身,意味着下载转化率会越低(因为竞品中,用户有更多机会选择那个体验最好,功能最多,性能最好,包最小的),所以apk的瘦身优化也很重要,本篇博客将讲述apk瘦身的相关内容. 包体分析 在Android Studio工具栏里,打开build–>Analyze APK, 选择要分析的APK包 可以看到占用空间的主要是代码.图

细说MySQL备份的基本原理(系列一 ) 备份与锁

数据库作为一个系统中唯一或者主要的持久化组件,对服务的可用性和数据的可靠性要求极高. 作为能够有效应对因为系统软硬件故障.人工误操作导致数据丢失的预防手段,备份是目前最为常见的数据库运维操作. 考虑到备份操作对数据库可用性的影响, MySQL官方将备份方式划主要划分为以下三类: 热备:备份过程中,MySQL实例始终是运行的,所有用户的读写请求都不会受到影响. 冷备:备份前首先需要停止MySQL实例的运行,整个备份过程中,用户均无法访问数据库. 温备:备份过程中,虽然MySQL实例是运行的,但是为

性能调优案例分享:Mysql的cpu过高

性能调优案例分享:Mysql的cpu过高 问题:一个系统,Mysql数据库,数据量变大之后.mysql的cpu占用率很高,一个测试端访问服务器时mysql的cpu占用率为15% ,6个测试端连服务器的时候mysql cpu占用率为50%~60% .ps 1: 每个测试端所做事情就是插入记录,不过插入前会先查询一下是否已经有相同的记录,有的话就更新原有记录,没有就直接插入. ps 2: CPU--Pentium Dual E1240 @ 1.60GHZ内存--2GOS--Windows 2003调

【MySQL案例】ERROR 1786 (HY000)

1.1.1. ERROR 1786 (HY000) [环境描述] msyql5.6.14 [报错信息] 执行create table ... select的时候遇到报错: db1 [test] [23:01:58]> create tablelgmnr_bak select * from lgmnr; ERROR 1786 (HY000): CREATE TABLE ... SELECTis forbidden when @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1

【MySQL案例】ERROR 1665 (HY000)

1.1.1. ERROR 1665 (HY000) [环境描述] msyql5.6.14 [报错信息] 执行SQL语句的时候报错: ERROR 1665 (HY000): Cannot executestatement: impossible to write to binary log since BINLOG_FORMAT = STATEMENTand at least one table uses a storage engine limited to row-based logging.

【MySQL案例】mysql-libs-5.1.73-3.el6_5.x86_64 conflicts with file from package Percona-Server-server

如果遇到mysql-libs-5.1.73-3.el6_5.x86_64 conflicts with file from package Percona-Server-server报错,有两种情况导致这个问题: 1)卸载操作系统预装的mysql-libs包 rpm -qa | grep -i libs | grep -i mysql rpm -e mysql-libs 2)安装Percona-Server-shared-compat-5.5.33-rel31.1.566.rhel6.x86_6