栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MySQL调优

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL调优

InnoDB存储引擎

MySQL 5.5.5后InnoDB是默认存储引擎

InnoDB采用"表空间"保存文件

InnoDB支持事物处理

InnoDB的存储特性
  • InnoDB表空间有两种形式

    1. 使用系统表空间 ibdataN
    2. 独立表空间 tablename.ibd (推荐)
  • 设置innodb_file_per_table决定表空间模式

  • 为什么推荐独立表空间

    系统表空间 all in one 不利于管理

    系统表空间会产生IO瓶颈

    系统表空间很难回收存储空间

    独立表空间使用 optimize table 命令回收存储空间

InnoDB的事务特性
  • InnoDB支持事务
  • InnoDB默认使用行级锁
  • InnoDB具备良好的并发特性
MySQL的锁

职责分类:

  • 共享锁 - 读锁
  • 独占锁(排它锁) - 写锁

粒度分类

  • 行级锁
  • 表级锁

在InnoDB中只有利用索引的更新,删除操作,才可以使用行级锁

不能使用索引的写操作则是表锁

在实际开发的时候,如果遇到写操作,一定要确保update/delete语句的条件

要能够使用索引,否则就会锁表,程序不具备并发性

MyISAM存储引擎 MyISAM特点
  • 不支持事务
  • 支持全文检索,支持text支持前缀索引
  • 支持数据压缩
  • 紧密存储,顺序读性能很好
  • 表级锁,混合读写性能不佳,并发性差
MyISAM应用场景
  • 非事务应用,例如:保存日志
  • 只读类应用,报表数据,字典数据
  • 空间类应用,开发GIS系统(5.7版本以前)
  • 系统临时表,SQL查询,分组的临时表引擎
Memory存储引擎 Memory特点
  • 不支持事务
  • 内存读写,临时存储
  • 超高的读写效率,比MyISAM高一个量级
  • 表级锁,并发性差
Memory应用场景
  • 读多写少的静态数据,例如省县市的对饮表
  • 充当缓存使用,保存高频访问静态数据
  • 系统临时表
Momory关键参数
  • 设置max_heap_table_size控制内存表大小(字节)
  • 设置tmp_table_size设置内存临时表最大值(字节)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/331772.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号