zoukankan      html  css  js  c++  java
  • MySQL存储引擎

    1.MySQL提供的存储引擎

    1)MySQL 提供以下存储引擎:

    1.InnoDB
        数据经常添加、删除、修改、查询,使用该引擎
    2.MyISAM
        只对数据进行查询和添加
    3.MEMORY
        支持hash索引
    4.ARCHIVE
    5.FEDERATED
    6.EXAMPLE
    7.BLACKHOLE
    8.MERGE
    9.NDBCLUSTER
    10.CSV

    2)第三方存储引擎:

    1.MySQL当中插件式的存储引擎类型
    2.MySQL的两个分支
        1)perconaDB
        2)mariaDB

    3)查看存储引擎

    #查看当前MySQL支持的存储引擎类型
    mysql> show engines
    
    #查看innodb的表有哪些
    mysql> select table_schema,table_name,engine from information_schema.tables where engine='innodb';
    
    #查看myisam的表有哪些
    mysql> select table_schema,table_name,engine from information_schema.tables where engine='myisam';
    
    #查看某个表的信息
    mysql> select * from tables where TABLE_NAME='city'G
    *************************** 1. row ***************************
      TABLE_CATALOG: def                    #表的注册信息
       TABLE_SCHEMA: world                    #表所在的库
         TABLE_NAME: city                    #表名字
         TABLE_TYPE: BASE TABLE                #表的类型
             ENGINE: InnoDB                    #存储引擎
            VERSION: 10                        #默认版本
         ROW_FORMAT: Compact                #行模式
         TABLE_ROWS: 4188                    #查询数据的量
     AVG_ROW_LENGTH: 97                        #行数据的平均长度
        DATA_LENGTH: 409600                    #数据长度
    MAX_DATA_LENGTH: 0                        #最大数据长度
       INDEX_LENGTH: 131072                    #索引的数据长度
          DATA_FREE: 0                        #空间碎片
     AUTO_INCREMENT: 4080                    #自增属性的值到了多少
        CREATE_TIME: 2020-10-28 18:27:42     #创建时间
        UPDATE_TIME: NULL                    #修改时间
         CHECK_TIME: NULL                    #检查时间
    TABLE_COLLATION: latin1_swedish_ci         #表的字符集
           CHECKSUM: NULL                    #检查次数
     CREATE_OPTIONS:                         #建表的参数
      TABLE_COMMENT:                         #表的注释
    1 row in set (0.00 sec)

    2.innodb和myisam的物理区别

    #myisam存储引擎的文件
    -rw-rw---- 1 mysql mysql  10684 10月 19 17:09 user.frm            #表结构    
    -rw-rw---- 1 mysql mysql    728 10月 23 20:02 user.MYD            #数据库的用户密码
    -rw-rw---- 1 mysql mysql   2048 10月 27 08:51 user.MYI            #数据库的用户
    
    #innodb存储引擎的文件
    -rw-rw---- 1 mysql mysql    8710 10月 28 19:53 city.frm            #表结构
    -rw-rw---- 1 mysql mysql 2097152 10月 28 19:54 city.ibd            #表数据
    
    #查看文件
    strings user.MYI

    3.innodb的核心特性

    MVCC            #多版本并发控制
    事务               #事务的特性
    备份               #mysqldump   xtrabackup
    故障自动恢复        #CSR

    4.存储引擎相关命令

    1)查看当前存储引擎

    #查看当前所在库的存储引擎
    mysql> SELECT @@default_storage_engine;
    +--------------------------+
    | @@default_storage_engine |
    +--------------------------+
    | InnoDB                   |
    +--------------------------+
    1 row in set (0.00 sec)
    
    mysql> show variables like 'default_storage_engine';
    +------------------------+--------+
    | Variable_name          | Value  |
    +------------------------+--------+
    | default_storage_engine | InnoDB |
    +------------------------+--------+
    1 row in set (0.01 sec)
    
    #查看指定表的存储引擎
    mysql> select table_schema,table_name,engine from information_schema.tables where table_name='city';
    +--------------+------------+--------+
    | table_schema | table_name | engine |
    +--------------+------------+--------+
    | world        | city       | InnoDB |
    +--------------+------------+--------+
    1 row in set (0.00 sec)

    2)修改默认的存储引擎

    #在配置文件的[mysqld]标签下添加,永久设置
    [root@db01 ~]# vim /etc/my.cnf
    [mysqld]
    default-storage-engine=InnoDB
    
    #在MySQL命令行中临时设置
    SET @@storage_engine=MyISAM

    3)建表时指定存储引擎

    mysql> create table test4(id int) engine=myisam;
    Query OK, 0 rows affected (0.01 sec)
  • 相关阅读:
    课后作业-阅读任务-阅读提问-2
    课后作业-阅读任务-阅读提问-3
    结对-贪吃蛇-需求分析
    《团队-团队编程项目作业名称-最终程序》
    《20171130-构建之法:现代软件工程-阅读笔记》
    课后作业-阅读任务-阅读提问-4
    团队-井字棋游戏-项目总结
    《软件工程课程总结》
    团队编程项目作业5-小组评分
    课后作业-结对编程项目总结
  • 原文地址:https://www.cnblogs.com/chenlifan/p/13907330.html
Copyright © 2011-2022 走看看