MySQL存储引擎介绍

    MySQL主要有两个层次组成:MySQL核心【MySQL服务器层】、插件式存储引擎
    MySQL处理机制不管在核心上如何被解析,最后若是真正实现跟文件系统上的文件交互时,必定要通过存储引擎来完成。真正把MySQL操做接收下来并提交给底层文件上对应的数据完成操做,并将结果返回给上层MySQL核心的是MySQL存储引擎,各存储引擎经过统一的API向MySQL服务器提供一个统一的数据存取、加锁等操做。
    
    MySQL内部表状态信息查看,使用  show table status like 'xxx';
    在表的属性信息当中,主要关注存储引擎类型,其下不少信息都是存储引擎决定的
    存储引擎:
        查看表状态信息:
        SHOW TABLE STATUS [{FROM | IN} db_name]
            [LIKE 'pattern' | WHERE expr]
    SHOW TABLE STATUS works likes SHOW TABLES, but provides a lot of
    information about each non-TEMPORARY table. You can also get this list
    using the mysqlshow --status db_name command.
    
    MariaDB [book]> desc yuwen;
    +-------+------------+------+-----+---------+-------+
    | Field | Type       | Null | Key | Default | Extra |
    +-------+------------+------+-----+---------+-------+
    | name  | char(10)   | NO   |     | NULL    |       |
    | page  | tinyint(4) | NO   |     | NULL    |       |
    +-------+------------+------+-----+---------+-------+
    2 rows in set (0.00 sec)
    MariaDB [book]> show table status like 'yuwen'\G
    *************************** 1. row ***************************
               Name: yuwen
             Engine: InnoDB
            Version: 10
         Row_format: Compact
               Rows: 0
     Avg_row_length: 0
        Data_length: 16384
    Max_data_length: 0
       Index_length: 0
          Data_free: 10485760
     Auto_increment: NULL
        Create_time: 2015-04-01 10:25:46
        Update_time: NULL
         Check_time: NULL
          Collation: latin1_swedish_ci
           Checksum: NULL
     Create_options:
            Comment:
    1 row in set (0.00 sec)
    表状态信息自己就是一张表,此时须要选择了库,不让能够加 from db_name来指定库
    MariaDB [book]> show table status\G
    *************************** 1. row *************************** 1行
               Name: yuwen
             Engine: InnoDB
            Version: 10
         Row_format: Compact
               Rows: 0
     Avg_row_length: 0
        Data_length: 16384
    Max_data_length: 0
       Index_length: 0
          Data_free: 10485760
     Auto_increment: NULL
        Create_time: 2015-04-01 10:25:46
        Update_time: NULL
         Check_time: NULL
          Collation: latin1_swedish_ci
           Checksum: NULL
     Create_options:
            Comment:
    1 row in set (0.00 sec)
    有多张表时,会显示多张表的信息
    只查看指定的表可使用where条件来对表的状态进行过滤
    MariaDB [test]> show table status where Name='xxx';  Name能够是| Name  | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time         | Update_time | Check_time | Collation         | Checksum | Create_options | Comment |这些值
    MariaDB [(none)]> show table status from hellodb where Name='students'\G
    
        存储引擎:也称为表类型    定义了一个表在其内部的存储格式和所支持的特性,存储引擎是表级别的概念
    真正存储引擎在其内部实现上是在表级别实现的,一个MySQL数据库能够有多张表,每一张都有其独有的存储引擎,可是建议在同一个库内全部的表尽量使用相同的存储引擎,如:未来要执行多表操做时,若是说表的存储引擎不一样,在数据库的某些表上启动事务时一旦某些数据不想提交想回滚,InnoDB中的表数据能回滚,myisam中的表数据不能回滚。
    
            SHOW TABLE STATUS WHERE Name='students'\G
            *************************** 1. row ***************************
                       Name: students 表名
                     Engine: InnoDB  表的存储引擎类型
                    Version: 10   版本
                 Row_format: Compact  行格式,对于myisam表来说可选的只有dynamic【表示其行的长度是可变的】、fixed【表示其行的长度是固定定长的】(是dynamic仍是fixed取决于字段类型,若是字段有varchar、varbinary则其长度是可变的,无text、blob、varchar、varbinary类型的话其长度就是固定的)、compressed【行是压缩存放的,数据是压缩后存放的,一旦压缩存放说明是myisam的压缩存放的压缩表】InnoDB: Compact【紧凑类型,表示表的数据内部也是压缩存放的】, Redundent【数据是冗余的】
                       Rows: 18  表中现有的行数,对于myisam而言此值是精确的,可是对于InnoDB是不肯定的,由于支持事务的时候,有些行插入进来未必是看到的最终结果,仅是一个估计值
             Avg_row_length: 910  平均每行所包含的字节数
                Data_length: 16384  数据大小,当前表中全部数据的大小,单位字节
            Max_data_length: 0    表的最大容量,0表示没有限制,可是此值与存储引擎相关,不一样的存储引擎所支持的最大表存储空间是不同的
               Index_length: 32768  索引长度,单位是字节
                  Data_free: 0     空闲的数据空间,对于myisam表来说表示已分配但还没有占用的空间,MySQL分配数据,数据表文件增加是渐进式的,一旦空间不够用时,额外申请一个盘区来存数据,但存数据时会有些多余的空间没有存完,存完后再申请一个,对于InnoDB来说这是表空间文件的剩余空间
             Auto_increment: 27   自动增加
                Create_time: 2014-08-29 10:00:16   表建立时间
                Update_time: NULL   表最后的修改时间,NULL没有实际值,没有定义
                 Check_time: NULL   使用check table命令或myisam check工具最近一次检查表的时间,主要对myisam表有用
                  Collation: utf8_general_ci  默认的排序规则,隐含了字符集信息
                   Checksum: NULL   校验和,在create table时能够指定启用校验和,启用的话,则会存储校验和
             Create_options:   建立表时,额外指定的选项,若是为视图,则为 view
                    Comment:   注释信息
    
            Row_format:
                MyISAM: Dynamic, Fixed, Compressed
                InnoDB: Compact, Redundent
    
            Rows: 行数
            Avg_row_length: 平均每行包含的字节数
    
            Check_time: 使用CHECK TABLE或者myisamchk工具最近一次检查表的时间;
    
        MySQL存储引擎特性:
    
            使用最多的InnoDB:【早期MySQL 5.1以前,默认存储引擎为myisam,从5.5开始默认存储引擎是InnoDB】 设计用于处理大量的短时间事务;支持自动的崩溃恢复;【有自动的崩溃恢复的特性,由于存在事务日志,而且存储引擎能基于事务日志自我实现完成恢复】  早期属于innoBase公司,后来被oracle收购
    
    查看MySQL下所支持的全部存储引擎
    MariaDB [test]> show engines\G
    *************************** 1. row ***************************
          Engine: MyISAM
         Support: YES
         Comment: MyISAM storage engine
    Transactions: NO
              XA: NO
      Savepoints: NO
    *************************** 2. row ***************************
          Engine: CSV
         Support: YES
         Comment: CSV storage engine
    Transactions: NO
              XA: NO
      Savepoints: NO
    *************************** 3. row ***************************
          Engine: MRG_MYISAM
         Support: YES
         Comment: Collection of identical MyISAM tables
    Transactions: NO
              XA: NO
      Savepoints: NO
    *************************** 4. row ***************************
          Engine: BLACKHOLE
         Support: YES
         Comment: /dev/null storage engine (anything you write to it disappears)
    Transactions: NO
              XA: NO
      Savepoints: NO
    *************************** 5. row ***************************
          Engine: MEMORY
         Support: YES
         Comment: Hash based, stored in memory, useful for temporary tables
    Transactions: NO
              XA: NO
      Savepoints: NO
    *************************** 6. row ***************************
          Engine: PERFORMANCE_SCHEMA
         Support: YES
         Comment: Performance Schema
    Transactions: NO
              XA: NO
      Savepoints: NO
    *************************** 7. row ***************************
          Engine: ARCHIVE
         Support: YES
         Comment: Archive storage engine
    Transactions: NO
              XA: NO
      Savepoints: NO
    *************************** 8. row ***************************
          Engine: FEDERATED
         Support: YES
         Comment: FederatedX pluggable storage engine
    Transactions: YES
              XA: NO
      Savepoints: YES
    *************************** 9. row ***************************
          Engine: InnoDB
         Support: DEFAULT
         Comment: Percona-XtraDB, Supports transactions, row-level locking, and foreign keys
    Transactions: YES
              XA: YES
      Savepoints: YES
    *************************** 10. row ***************************
          Engine: Aria   myisam的加强版
         Support: YES
         Comment: Crash-safe tables with MyISAM heritage 增长了Crash-safe崩溃安全特性,是myisam兼容的存储引擎
    Transactions: NO
              XA: NO
      Savepoints: NO
    10 rows in set (0.00 sec)
    查看当前默认存储引擎
    MariaDB [test]> show global variables like '%engine%';
    +---------------------------+--------+
    | Variable_name             | Value  |
    +---------------------------+--------+
    | default_storage_engine    | InnoDB |  默认存储引擎
    | engine_condition_pushdown | OFF    |
    | storage_engine            | InnoDB |
    +---------------------------+--------+
    3 rows in set (0.00 sec)
    
    
    MySQL 5.1当中基于plugin的方式来支持InnoDB,对于多核特性支持不是很优秀,在5.6之后已经弥补了这一特性,能够支持大量核心的。InnoDB存储的数据在表空间中,
                Table Space: 表空间可由一个或多个物理文件组成 【表空间至关因而一个黑盒,由InnoDB自行管理的黑盒,是一个文件,可是对于用户来说看到的多是一个文件,内部被分割成了多个文件,是一种比文件系统高级、位于工做在文件系统之上的、可以由存储引擎自我管理的更高层次的管理机制】但却属于同一个表空间
                    是一个文件管理机制:位于程序和文件系统之间的文件独立管理的中间层
    表空间是InnoDB存储引擎在使用文件时,为了方便执行数据文件扩展,而特意实现的自我数据增加扩展管理的一种机制,为了不表空间文件过大,对备份不方便,能够把表空间文件分红多个文件,能够实现自动增加。默认状况下,InnoDB将位于同一个数据库服务器上的全部的InnoDB格式的表数据放在同一个表空间中
    
    在MySQL存放数据的文件下面有
    [root@node3 ~]# ls /mysql/data/ibdata1
    [root@node3 ~]# ls /mysql/data/ibdata1 -lh
    -rw-rw---- 1 mysql mysql 18M Apr  1 10:25 /mysql/data/ibdata1
    ibdata1就是InnoDB的表空间文件,随着数据的存储,此文件会动态增加,
    [root@node3 ~]# ls /mysql/data/ib_*
    /mysql/data/ib_logfile0  /mysql/data/ib_logfile1
    [root@node3 ~]# ls /mysql/data/ib_* -lh
    -rw-rw---- 1 mysql mysql 5.0M Apr  1 10:25 /mysql/data/ib_logfile0
    -rw-rw---- 1 mysql mysql 5.0M Apr  1 03:53 /mysql/data/ib_logfile1
    ib_logfile0|1是InnoDB的事务日志文件
    [root@node3 ~]# ls /mysql/data/hellodb/
    classes.frm  coc.frm  courses.frm  db.opt      scores.MYI    students.MYI  teachers.MYI  toc.MYI
    classes.MYD  coc.MYD  courses.MYD  scores.frm  students.frm  teachers.frm  toc.frm
    classes.MYI  coc.MYI  courses.MYI  scores.MYD  students.MYD  teachers.MYD  toc.MYD
    若是说建立一个数据库,而数据库内部存储引擎都使用InnoDB,则他们都没有数据文件,须要启动每表表空间文件的支持
    没有MYD文件,数据文件在ibdata1中
    [root@node3 ~]# ls /mysql/data/book/
    db.opt  yuwen.frm
    
    InnoDB存储支持两种使用风格:
        一、将全部innodb表的数据放置同一个表空间中;
            默认名字:数据目录下ibdata#;   #是数字
        二、每一个表使用本身专用的表空间;【让MySQL支持每表表空间,启用】
            默认名字:数据库目录下tb_name.ibd;
    建议:为了使用InnoDB的高级特性,通常把innodb_file_per_table = 1启用即每表使用单独表空间机制,也能够编辑配置文件/etc/mysql/my.cnf下mysqld段添加innodb_file_per_table = 1 | ON
    
    MariaDB [test]> show global variables like '%innodb_file%';
    +--------------------------+----------+
    | Variable_name            | Value    |
    +--------------------------+----------+
    | innodb_file_format       | Antelope |
    | innodb_file_format_check | ON       |
    | innodb_file_format_max   | Antelope |
    | innodb_file_per_table    | OFF      |  这里是OFF,须要改成ON,MariaDB10是默认ON的
    +--------------------------+----------+
    4 rows in set (0.00 sec)
    MariaDB [test]> set global innodb_file_per_table=1;
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [test]> show global variables like '%innodb_file%';
    +--------------------------+----------+
    | Variable_name            | Value    |
    +--------------------------+----------+
    | innodb_file_format       | Antelope |
    | innodb_file_format_check | ON       |
    | innodb_file_format_max   | Antelope |
    | innodb_file_per_table    | ON       |
    +--------------------------+----------+
    4 rows in set (0.00 sec)
    
    MariaDB [test]> create database light;
    Query OK, 1 row affected (0.02 sec)
    
    MariaDB [test]> use light;
    Database changed
    MariaDB [light]> create table jieneng(size tinyint not null,name char(20) not null);
    Query OK, 0 rows affected (0.05 sec)
    
    MariaDB [light]> insert into jieneng (size,name) values (10,'baizhidong'),(9,'riguandong');
    Query OK, 2 rows affected (0.00 sec)
    Records: 2  Duplicates: 0  Warnings: 0
    [root@node3 ~]# ls /mysql/data/light/
    db.opt  jieneng.frm  jieneng.ibd【单独的表空间文件】
    db.opt是用来记录该库的默认字符集编码和字符集排序规则用的。
                    
        InnoDB基于聚簇索引【聚簇索引有利于基于主键查询时的性能】创建的:基于主键索引查询时,性能较好;
            辅助索引中必须包含主键索引,否则辅助索引没法保存数据,由于辅助索引是指向主键的;所以,为了节约空间,尽量使用较小的主键索引;能够本身建立具备自动增加特性的主键如id主键
    
        InnoDB支持自适应hash索引;不是显示的,会自动维护
    
        支持使用事务:
        支持行级锁
        支持MVCC  多版本并发控制
        支持热备份
    
        表存储格式:
            一、将全部innodb表的数据放置同一个表空间中;
                表结构定义:tb_name.frm (数据库目录下)
                数据和索引:放在统一的表空间文件中
            二、使用的单表表空间文件
                表结构定义:tb_name.frm
                数据和索引在单独的文件中:tb_name.ibd
       因为InnoDB中间加了中间层跟存储相关,因此在实现备份恢复时,不能简单的把数据文件、结构文件复制到对应的数据目录下就能识别【备份恢复实现须要专用的工具】,可是myisam能够
    
    MyISAM:
        支持全文索引、压缩、空间函数(来实现空间索引);
        不支持事务、行级锁
        崩溃后没法安全恢复
        支持延迟更新索引键(delayed_key_write)【修改表之后,不用当即更新索引,当更新完成后,再一并进行索引,使得其性能方面有所提高】
        不支持热备份
    
        表存储格式:每张表都有三个文件(位于数据库目录下)
            tb_name.frm: 表格式
            tb_name.MYD: 数据
            tb_name.MYI: 索引
    
    其它存储引擎:
        Memory【内存存储引擎,数据不是放在磁盘上,而是放在内存中,memory比myisam至少快一个数量级(10倍),在更关注性能时,可使用memory存储引擎,memory能够在不少场景下使用好比:用于查找和映射表、用于缓冲周期性的数据表和聚合数据等】: 早期叫HEAP表
            显式支持hash索引
            没法持久存储数据
    
        CSV【能够将普通的逗号分隔做为MySQL表来处理】: 把表数据存储为文本文件,字段以逗号分隔;(主要功能是为了实如今数据库运行时,拷入或拷出文件的,并且可以方便的在各数据库导入数据好比:把MySQL数据保存为文本文件格式,若是Oracle支持就可以很容易的导入进去)
            不支持索引
            经常使用于数据交换的场景
    
        Merge: MyISAM的变种
            将多个MyISAM表合并表示为一个虚拟表;【表结构须要同样】
    
        Federated:访问其它MySQL服务上数据的代理【客户端访问federated数据库服务器时,federated数据库服务器上没有数据,而是经过mysql协议到其余的数据库服务器查找数据并返回的,至关于代理】
            MariaDB上用的FederatedX存储引擎
    Engine: FEDERATED
     Support: YES
     Comment: FederatedX pluggable storage engine
    
        Blackhole: 没有任何存储机制,不会真正存储任何数据,因此会丢弃全部插入的数据;【在复制架构中会使用到,可是架构也有问题,此种存储引擎不多使用】
    
        NDB:Cluster   集群存储引擎,可以联合多个节点上的存储引擎共同工做,是一种分布式的无共享的容灾的高可用存储引擎,生产环境下没在使用
    
    第三方存储引擎:
        OLTP类【在线事务处理类】:
            XtraDB: InnoDB的改进版
            PBXT:【支持引擎级别的复制、支持外键,适合固态硬盘上使用】支持ACID和MVCC
    
            TokuDB: 支持使用分形树的索引结构,是缓存无关的,即使索引数据超过内存的大小,性能上也不会降低,没有内存生命周期和内存碎片问题,适用存储大数据
    
    MySQL中存储的数据都是以行为单位的
    
        面向列的存储的引擎: 按列为单位进行存储,适合压缩等,适用于存储大数据
            Infobright
            InfiniDB
            LucidDB
    
        社区引擎:
            Aria: 改进的MyISAM 【支持崩溃后安全恢复】
            OQGraph: 支持图操做 【地图数据】
            SphinxSE: 为sphinx全文搜索引擎提供了SQL接口;
            Spider: 能够将数据切分红不一样的分区,较透明实现分片功能;
    
    存储引擎选择标准?考虑如下因素
        是否须要事务
        是否支持备份:热备
        是否须要提供崩溃后恢复:
    
            特有的特性: 存储大数据、是否支持数据分片
    若是说大部分数据都是读的,则myisam能够是不错的选择或者Aria
    若是是在线事务处理的好比订单处理,建议InnoDB
    数据仓库最好使用Aria或myisam
    论坛程序:发帖较多、用户讨论比较活跃  InnoDB
    
    InnoDB如何定义表空间的使用风格?
    InnoDB默认状况下将全部表空间数据都放在同一个位置,通常是数据目录下,能够更改成其余位置,并定义其工做特性。
        InnoDB存储引擎的管理:
            innodb_data_file_path:表空间文件的文件名称及特性【表空间文件的文件名及文件的特性】
                可以使用相对(相对于innodb_data_home_dir而言)或绝对路径;并且可定义多个文件;
                格式为:innodb_data_file_path = ibdata1:20G;ibdata2:10G;ibdata3:1G:autoextend;【先使用ibdata1文件,当达到20G时,使用ibdata2文件到10G后,使用ibdata3文件能够自动增加autoextend能够自动增加】
            innodb_data_home_dir:表空间的数据文件的存储位置,省略时表示使用数据目录(datadir变量定义的位置);
    
            建议设置innodb_file_per_table = ON   独立的表空间
                缺点:DROP TABLE操做的性能较差;若是想下降DROP TABLE性能差的操做须要启用:
                innodb_lazy_drop_table = ON  不会当即删除,会一个一个慢慢删除
    
    使用InnoDB存储引擎时,InnoDB存储引擎有一个重要的内部服务器变量来定义InnoDB使用的缓冲池。
    
        InnoDB缓冲池:  buffer pool
            由InnoDB维护的内存空间:可以缓存索引及数据   若是某些表很是大,并且某些表访问的很是频繁,能够把数据放在内存中直接读取和写。
    
                innodb_buffer_pool_size 定义InnoDB缓冲池的大小,应该设多大?经过观察可用内存值,以及数据是否被频繁的换进换出,来修改,建议较大,若是缓冲池很大的预热较慢,由于缓冲池中要缓冲数据,缓冲池启动之后,数据好长时间都没填满,因此缓冲时,发挥不了效应。如:MySQL平时正常运行,修改一个参数后,重启了MySQL,头几天性能特别差就是由于缓冲池预热没有完成。须要额外使用工具来完成预热。
    
                如何观察innodb_buffer_pool_size是不是过大或太小须要经过SHOW ENGINE INNODB STATUS;来断定    显示当中有不少段组成,得到状态数据
    MariaDB [light]> show engine innodb status\G
    *************************** 1. row ***************************
      Type: InnoDB
      Name:
    Status:
    =====================================
    150401 22:28:39 INNODB MONITOR OUTPUT
    =====================================
    Per second averages calculated from the last 8 seconds
    -----------------
    BACKGROUND THREAD
    -----------------
    srv_master_thread loops: 16 1_second, 16 sleeps, 1 10_second, 9 background, 9 flush
    srv_master_thread log flush and writes: 16
    ----------
    SEMAPHORES
    ----------
    OS WAIT ARRAY INFO: reservation count 14, signal count 14
    Mutex spin waits 3, rounds 90, OS waits 3
    RW-shared spins 10, rounds 300, OS waits 10
    RW-excl spins 0, rounds 30, OS waits 1
    Spin rounds per wait: 30.00 mutex, 30.00 RW-shared, 30.00 RW-excl
    --------
    FILE I/O
    --------
    I/O thread 0 state: waiting for completed aio requests (insert buffer thread)
    I/O thread 1 state: waiting for completed aio requests (log thread)
    I/O thread 2 state: waiting for completed aio requests (read thread)
    I/O thread 3 state: waiting for completed aio requests (read thread)
    I/O thread 4 state: waiting for completed aio requests (read thread)
    I/O thread 5 state: waiting for completed aio requests (read thread)
    I/O thread 6 state: waiting for completed aio requests (write thread)
    I/O thread 7 state: waiting for completed aio requests (write thread)
    I/O thread 8 state: waiting for completed aio requests (write thread)
    I/O thread 9 state: waiting for completed aio requests (write thread)
    Pending normal aio reads: 0 [0, 0, 0, 0] , aio writes: 0 [0, 0, 0, 0] ,
     ibuf aio reads: 0, log i/o's: 0, sync i/o's: 0
    Pending flushes (fsync) log: 0; buffer pool: 0
    0 OS file reads, 402 OS file writes, 37 OS fsyncs
    0.00 reads/s, 0 avg bytes/read, 0.00 writes/s, 0.00 fsyncs/s
    -------------------------------------
    INSERT BUFFER AND ADAPTIVE HASH INDEX
    -------------------------------------
    Ibuf: size 1, free list len 0, seg size 2, 0 merges
    merged operations:
     insert 0, delete mark 0, delete 0
    discarded operations:
     insert 0, delete mark 0, delete 0
    Hash table size 276671, node heap has 1 buffer(s)
    0.00 hash searches/s, 0.00 non-hash searches/s
    ---
    LOG
    ---
    Log sequence number 1605285
    Log flushed up to   1605285
    Last checkpoint at  1605285
    Max checkpoint age    7782360
    Checkpoint age target 7539162
    Modified age          0
    Checkpoint age        0
    0 pending log writes, 0 pending chkp writes
    18 log i/o's done, 0.00 log i/o's/second
    ----------------------
    BUFFER POOL AND MEMORY
    ----------------------
    Total memory allocated 137756672; in additional pool allocated 0
    Total memory allocated by read views 184
    Internal hash tables (constant factor + variable factor)
        Adaptive hash index 2233968     (2213368 + 20600)
        Page hash           139112 (buffer pool 0 only)
        Dictionary cache    601997     (554768 + 47229)
        File system         83968     (82672 + 1296)
        Lock system         333248     (332872 + 376)
        Recovery system     0     (0 + 0)
    Dictionary memory allocated 47229
    Buffer pool size        8191
    Buffer pool size, bytes 134201344
    Free buffers            7875
    Database pages          315
    Old database pages      0
    Modified db pages       0
    Pending reads 0
    Pending writes: LRU 0, flush list 0, single page 0
    Pages made young 0, not young 0
    0.00 youngs/s, 0.00 non-youngs/s
    Pages read 0, created 315, written 347
    0.00 reads/s, 0.00 creates/s, 0.00 writes/s
    No buffer pool page gets since the last printout
    Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s   根据此处
    LRU len: 315, unzip_LRU len: 0   此处
    I/O sum[0]:cur[0], unzip sum[0]:cur[0]
    --------------
    ROW OPERATIONS
    --------------
    0 queries inside InnoDB, 0 queries in queue
    1 read views open inside InnoDB
    0 transactions active inside InnoDB
    0 out of 1000 descriptors used
    ---OLDEST VIEW---
    Normal read view
    Read view low limit trx n:o 300
    Read view up limit trx id 300
    Read view low limit trx id 300
    Read view individually stored trx ids:
    -----------------
    Main thread process no. 24503, id 140154958231296, state: waiting for server activity
    Number of rows inserted 2, updated 0, deleted 0, read 0
    0.00 inserts/s, 0.00 updates/s, 0.00 deletes/s, 0.00 reads/s
    ------------
    TRANSACTIONS
    ------------
    Trx id counter 305
    Purge done for trx's n:o < 0 undo n:o < 0
    History list length 0
    LIST OF TRANSACTIONS FOR EACH SESSION:
    ---TRANSACTION 304, not started
    MySQL thread id 11, OS thread handle 0x7f788d68c700, query id 503 localhost root
    show engine innodb status
    ----------------------------
    END OF INNODB MONITOR OUTPUT
    ============================
    
    1 row in set (0.01 sec)             
node

相关文章
相关标签/搜索