今天继续给大家介绍MySQL相关知识,本文主要内容是MySQL中InnoDB引擎的一些特性。

一、InnoDB引擎特性

InnoDB引擎是MySQL数据库的一大重要引擎,相比起MyISAM引擎,InnoDB引擎的优点是支持兼容ACID事务和外键的约束。在MySQL5.5及其之后的版本中,数据表的默认引擎就是InnoDB引擎。采用InnoDB引擎的数据表只有一个frm文件,如下所示:

InnoDB引擎特点主要有以下点:
1、支持事务。
2、行级锁定。
3、能缓存索引,也能够缓存数据。
4、支持外键约束。
5、对硬件要求比较高。
7、在InnoDB引擎中,二级索引都会保存主键信息。
8、支持分区和表空间。

二、InnoDB使用场景

由InnoDB引擎的特性,我们可以简单归纳处InnoDB引擎适用的场景,主要有以下几点:
1、需要事务支持的业务。
2、有高并发需求的业务。
3、数据读写及更新都比较频繁的场景。
4、硬件设备比较好的情况。

三、InnoDB引擎调优思路

1、由于InnoDB的二级索引会存储主键的信息,所以主键应该尽可能小。
2、在需要经常查询的列建立索引,避免全表扫描。
3、利用好缓存机制,缓存索引和数据内容,提高响应速度,减少磁盘读写消耗。
4、由于InnoDB引擎特殊的存储方式,应该避免主键更新,否则会带来大量的磁盘读写操作。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

MySQL引擎详解(三)——InnoDB引擎特性相关推荐

  1. MySQL存储引擎详解(一)-InnoDB架构

    目录 前言 一.支持的存储引擎 二.InnoDB引擎 1.Buffer Pool 传统LUR算法 预读 预读失效 2.Log Buffer 3.Adaptive Hash Index 4.Change ...

  2. mysql权限和使用注意事项及mysql 数据类型详解和innodb,myisam区别

    mysql用户权限管理(Grant,Revoke) MySQL可以为不同的用户分配严格的.复杂的权限.这些操作大多都可以用SQL 指令Grant(分配权限)和Revoke(回收权限)来实现. Gran ...

  3. mysql的存储引擎详解_Mysql存储引擎详解

    存储引擎的介绍 关系型数据库表是用来存储和组织信息的数据结构,可以将表理解为由行和列组成的表格. 由于表的类型不同,我们在实际开发过程中,就有可能需要各种各样的表,不同的表就意味着存储不同类型的数据, ...

  4. mysql myisam 详解_Mysql InnoDB和MyISAM区别原理解析

    mysql支持很多表类型的表(即存储引擎),如myisam.innodb.memory.archive.example等.每种存储引擎都有自己的优点和缺点,充分的理解每种存储引擎,有助于合理的使用它们 ...

  5. Mysql存储引擎详解(MyISAM与InnoDB的区别)

    Mysql存储引擎详解(MyISAM与InnoDB的区别) 存储引擎     MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平 ...

  6. mysql的innodb数据库引擎详解

    http://www.jb51.net/softjc/158474.html 这篇文章主要介绍了mysql的innodb数据库引擎,需要的朋友可以参考下 一.mysql体系结构和存储引擎 1.1.数据 ...

  7. mysql 5.1默认缓存_mysql的innodb数据库引擎详解

    一.mysql体系结构和存储引擎 1.1.数据库和实例的区别 数据库:物理操作系统或其他形式文件类型的集合.在mysql下数据库文件可以是frm,myd,myi,ibd结尾的文件. 数据库实例:由数据 ...

  8. 史上最简单MySQL教程详解(进阶篇)之存储引擎介绍及默认引擎设置

    什么是存储引擎? MySQL存储引擎种类 MyISAM 引擎 InnoDB引擎 存储引擎操作 查看存储引擎 存储引擎的变更 修改默认引擎 什么是存储引擎? 与其他数据库例如Oracle 和SQL Se ...

  9. MySQL常用存储引擎详解

    MySQL常用存储引擎详解 一.什么是存储引擎 二.掌握存储引擎的重要性 三.MySQL常用的存储引擎有哪些 四.存储引擎的特性 1.InnoDB 2.MyISAM 3.MEMORY 4.ARCHIV ...

  10. mysql 规则引擎_Drools规则引擎详解-常用的drl实例

    package droolsDemo //说明:每个 drl 都必须声明一个包名,这个包名与 Java 里面的不同,它不需要与文件夹的层次结构一致, //主要用于可以根据kmodule.xml中不同的 ...

最新文章

  1. 2018-3-7 HDFS架构
  2. mysql 分库分表 ~ 方案选择浅谈
  3. Spring入门详细教程(一)
  4. Shell中判断字符串是否为数字的6种方法分享
  5. Java中Dom解析XML
  6. tns 连接超时_ORA-12170:TNS:连接超时
  7. Fiori 出试(WEBIDE平台)day1
  8. html图片上传选择文件后的事件,bootstrap-fileinput插件,上传成功后事件
  9. java第三章:流程控制语句
  10. postgresql9.5 run 文件linux安装后配置成开机服务
  11. Win10怎么禁用系统更新服务 Win10禁用系统更新服务教程
  12. 考软件测试初学者眼影,Summer 大讲堂第一期:如何制作出版级的高分辨率图表?...
  13. ListView 控件与 ImageList 控件
  14. 常用网络端口对照表以及端口说明
  15. MATLAB生成(对角线上元素相同的)三对角矩阵的实例
  16. 粗虚线和细虚线_高速虚线两侧是粗虚线 高速公路虚线两边加斜线什么意思?...
  17. python之while循环、无限循环
  18. for和if嵌套使用
  19. 计算机学院新生入学致辞,计算机学院召开2020级新生入学教育启动大会
  20. 立创eda学习笔记三十:布局传递

热门文章

  1. C typedef---运用实例
  2. 书单丨被强化学习一次次伤害?本书单带你一步步入门!
  3. 二十一天学通C语言:C语言中指针排序
  4. 8.15 SNAIL:神经注意力元学习
  5. 多进程|多线程的不同应用场景:Python还是C
  6. 折线图后面无数据_老板让数据师分析二八法则,此图表完美解决,项目管理师专用图表...
  7. c语言写16进制转2进制,[求助]如何实现16进制转2进制
  8. Android MediaPlayer 实现音乐播放器
  9. 第四步_安装gcc交叉编译工具
  10. ubuntu系统无法连接识别到adb设备和fastboot设备解决方法