iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql5.7 InnoDB存储引擎方面的提升有哪些
  • 113
分享到

mysql5.7 InnoDB存储引擎方面的提升有哪些

2024-04-02 19:04:59 113人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关 Mysql5.7 InnoDB存储引擎方面的提升有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

这篇文章将为大家详细讲解有关 Mysql5.7 InnoDB存储引擎方面的提升有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

版本: mysql5.7.16

一 : 安全
    ① 初始化数据库方式的变化
        老版本:    mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/opt/mysql
        mysql5.7 :  mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/opt/mysql (会生成一个临时密码,若不想要密码则用参数 --initialize-insecure)
    ② 可以通过 mysql_ssl_ras_setup 来开启 ssl
    ③ sql_mode 由mysql5.6的默认空 变为默认 STRICT_TRANS_TABLES

二 : InnoDB存储引擎方面的提升
    1. 更改索引名不表,直接更改
        alter table xxx rename index ix_a to ix_b
    2. Online DDL 对 字段属性为 varchar 更改的改进
        1> varchar(20) --> varchar(40) 不锁表直接更改
        2> 40 --> 20 copy方法锁表
        3> 256是个临界值,这里指字节 , 不能跨越 如 varchar(30) --> varchar(320),则以copy的方式ddl,锁表
        4> 对于char 和 int来说还是老方法,即 copy 的算法进行ddl,锁表
        另 : 5.1和5.5 对于index的增删用 alGorithm = inplace方法 不锁表;5.6支持对于 字段的增删使用inplace方法。对于主键的更改仍然使用copy算法来实现。
    3. 全文索引对中文的支持
        1> mysql5.6 开始针对于innodb才有全文索引,但是不支持 中文,日文,韩文等。
        2> select * from xxx where match(content) against('+horand -生日快乐' in boolean mode ); 表示查找有'horand' 没有 '生日快乐'的文档。
        3> 新增参数 ngram_token_size 用于检索中文单词的个数。与5.6设置单词长度的几个参数互斥
    4. BP 预热的改进
        1> mysql5.6 由 i_b_p_dump_at_shutdown=1 和 i_b_p_load_at_startup=1 来实现相关预热功能(mysql得正常关闭)
        2> mysql5.7 添加参数 i_b_p_dump_pct=xx 来控制 dump所有热数据的百分比(从头到尾),默认25,可以在1~100之间。mysql5.6是全部。
            适当降低该值 可以 减少关闭和启动mysql的时间
    5. 在线调整 BP
         1> 会阻塞用户请求,建议在业务低峰期进行
    6. 回收undo log 空间
        1> mysql5.6 开始可以指定 undo log的文件目录(innodb_undo_direcrory),个数(innodb_undo_tablespace)以及大小(innodb_undo_logs=128 回滚段数量)
        2> mysql5.7 添加两个参数控制undo log 的回收 ,innodb_undo_log_truncate=1(开启回收机制),innodb_max_undo_log_size=1G(文件大小超过1G触发回收机制)
    7. 通用表空间(开启 innodb_file_per_table=1)
        1> create tablespace ts_name
        2> create table xxx(id int )engine=innodb TABLESPACE ts_name
        3> 多个表公用一个ibd文件 和 ibdata1在一个目录下
    8. 独立表空间指定存放路径
        1> 5.6和5.7 create table t2(id int ) DATA DIRECTORY='/tmp' 对应的表数据文件idb生成一个软连接 连接到/tmp目录下
    9. 迁移 某个innodb表(开启innodb_file_per_table=1,mysql5.6 5.7)
        1> FLUSH TABLES xxx for EXPORT
        2> xxx.frm xxx.idb xxx.cfg(存储了数据字典信息,经测试不要也可) 将三个文件copy到新数据库
        3> 更改三个文件的属主为 mysql:mysql
        4> alter table xxx discart tablespace
        5> alter table xxx import tablespace
        6> check table xxx;
    10. 直接修改redo log的大小
        mysql5.5(ib_logfile0 size 最大支持4G)以及之前
        1> set global innodb_fast_shutdown=0
        2> mysqladmin shutdown
        3> 修改 innodb_log_file_size 的大小
        4> 移除老的 ib_logfile0 ib_logfile1
        5> mysqld_safe & 启动mysql
        mysql5.6 && mysql5.7(ib_logfile size 最大提升到几十个GB)
        1> shutdown
        2> 修改配置文件innodb_log_file_size
        3> mysqld_safe & 启动
    11. 死锁打印到错误日志
        1> mysql5.5以及之前版本
        show engine innodb status\G
        2> mysql5.6 && mysql5.7
        设置参数 innodb_print_all_deadlocks=1 将死锁信息打印到err日志
    12. 只读事务(5.6 5.7)
        start transaction read only;
三 : SERVER 层提升
    1. JSON 字段类型的支持
    2. 支持虚拟列(函数索引)
        1> create table xxx(id int , mod_id int GENERATED Alaways as (( id % 10 )) virtual ,key 'vir_col_inx' (mod_id) )engine=innodb;
        2> select * from xxx where mod_id=3; 则可以使用索引 vir_col_inx
        3> 插入只能使用default方式( insert into xxx values(13,default); )
    3. explain 支持 update/delete/insert
    4. 记录到系统日志
        server启动时 : --syslog 
        client 连接时: --syslog

关于 mysql5.7 InnoDB存储引擎方面的提升有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: mysql5.7 InnoDB存储引擎方面的提升有哪些

本文链接: https://www.lsjlt.com/news/66294.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql5.7 InnoDB存储引擎方面的提升有哪些
    这篇文章将为大家详细讲解有关 mysql5.7 InnoDB存储引擎方面的提升有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 ...
    99+
    2024-04-02
  • innodb存储引擎有哪些特点
    InnoDB存储引擎有以下特点:1. 事务支持:InnoDB支持ACID(原子性、一致性、隔离性和持久性)事务,可以保证数据的完整性...
    99+
    2023-09-15
    innodb
  • MySQL存储引擎之InnoDB架构的知识点有哪些
    本篇内容主要讲解“MySQL存储引擎之InnoDB架构的知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL存储引擎之InnoDB架构的知识点有...
    99+
    2024-04-02
  • MySQL存储引擎有哪些
    这篇文章给大家分享的是有关MySQL存储引擎有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。MySQL有多种存储引擎,每种存储引擎有各自的优缺点,大家可以择优选择使用:MyI...
    99+
    2024-04-02
  • mongodb存储引擎有哪些
    mongodb存储引擎有:1、WiredTiger存储引擎是mongodb3.2的默认存储引擎;2、MMAPv1是mongodb基于内存映射最初的存储引擎;3、In-Memory是一种内存存储引擎,它是非持久性的,不会持久化数据。一、mon...
    99+
    2024-04-02
  • mysql有哪些存储引擎
    这篇文章主要介绍了mysql有哪些存储引擎,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。执行如下指令查看所有mysql所有的存储引擎InnoDB...
    99+
    2024-04-02
  • mysql体系结构和InnoDB存储引擎知识有哪些
    这篇文章主要介绍“mysql体系结构和InnoDB存储引擎知识有哪些”,在日常操作中,相信很多人在mysql体系结构和InnoDB存储引擎知识有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方...
    99+
    2024-04-02
  • MySQL中有哪些存储引擎
    MySQL中有哪些存储引擎,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、引言在mysql5之后,支持的存储引擎有十几个,但是常用的就那么几...
    99+
    2024-04-02
  • MySQL中的存储引擎有哪些
    MySQL中常见的存储引擎包括: InnoDB:InnoDB是MySQL的默认存储引擎,支持事务、行级锁、外键等特性,适合处理大...
    99+
    2024-04-09
    MySQL
  • MySQL存储引擎都有哪些
    这篇文章将为大家详细讲解有关MySQL存储引擎都有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  MySQL 的存储引擎存储引擎  ARCHIVE用于...
    99+
    2024-04-02
  • MySQL的常见存储引擎有哪些
    这篇文章主要介绍了MySQL的常见存储引擎有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。MySQL常用存储引擎之MyISAM特性:1、...
    99+
    2024-04-02
  • mysql常见的存储引擎有哪些
    MySQL常见的存储引擎有以下几种:1. MyISAM引擎:是MySQL的默认存储引擎,提供了较好的性能和高效的读取速度。但不支持事...
    99+
    2023-09-15
    mysql
  • mysql存储引擎有哪些区别
    mysql存储引擎的区别:InnoDB支持事务安全,MyISAM和MEMORY两个不支持。InnoDB对空间使用程度较高,MyISAM和MEMORY对空间使用程度较低。InnoDB和MEMORY对内存使用程度较高,MyISAM对内存使用程度...
    99+
    2024-04-02
  • mysql存储引擎的类型有哪些
    MySQL存储引擎的类型有以下几种: InnoDB:支持事务处理,具有较好的性能和可靠性,适合大型数据库应用。 MyISAM:不支...
    99+
    2024-04-09
    mysql
  • MariaDB支持的存储引擎有哪些
    MariaDB支持的存储引擎有以下几种: InnoDB MyISAM Aria TokuDB Spider Memory Colu...
    99+
    2024-04-02
  • MySQL扩展存储引擎有哪些
    这篇文章将为大家详细讲解有关MySQL扩展存储引擎有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 下面介绍几个列式存储引擎:一:TokuDBToku...
    99+
    2024-04-02
  • MySQL中有哪些常用的存储引擎
    MySQL中有哪些常用的存储引擎,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。(1):MyISAM存储引擎:不支持事务、也不支持外键,优势...
    99+
    2024-04-02
  • mysql存储引擎之间的区别有哪些
    这篇文章主要讲解了“mysql存储引擎之间的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql存储引擎之间的区别有哪些”吧! ...
    99+
    2024-04-02
  • mysql中Memory存储引擎的特性有哪些
    这篇文章给大家分享的是有关mysql中Memory存储引擎的特性有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Memory表的每个表可以有多达32个索引。每个索引16列,以及500字节的最大键长度。存储引擎...
    99+
    2023-06-25
  • MariaDB中的存储引擎有哪些优缺点
    MariaDB中常用的存储引擎有InnoDB、MyISAM、MEMORY、Aria等。它们各有优缺点: InnoDB: 优点: ...
    99+
    2024-04-09
    MariaDB
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作