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

    MySQL存储引擎

    1.连接层
    2.sql层
    3.存储引擎层
    	1)接收sql层传来的sql语句
    	2)与磁盘交互获取数据
    	
    #存储引擎就是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.修改默认的存储引擎

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

    5.建表时指定存储引擎

    mysql> create table test4(id int) engine=myisam;
    Query OK, 0 rows affected (0.01 sec)
    
  • 相关阅读:
    LeetCode 1275. 找出井字棋的获胜者 Find Winner on a Tic Tac Toe Game
    LeetCode 307. 区域和检索
    LeetCode 1271 十六进制魔术数字 Hexspeak
    秋实大哥与花 线段树模板
    AcWing 835. Trie字符串统计
    Leetcode 216. 组合总和 III
    Mybatis 示例之 复杂(complex)属性(property)
    Mybatis 示例之 复杂(complex)属性(property)
    Mybatis 高级结果映射 ResultMap Association Collection
    Mybatis 高级结果映射 ResultMap Association Collection
  • 原文地址:https://www.cnblogs.com/xiaolang666/p/13891348.html
Copyright © 2011-2022 走看看