Skip to content

MySQL 深入了解 #130

Description

@Draymonders

MySQL

MySQL存储引擎 InnoDB, MyISAM, Memory

查看变量

  • SHOW VARIABLES LIKE 'default_storage_engine'; 默认存储引擎
  • SHOW VARIABLES LIKE 'max_connections'; 最大连接数
  • SHOW VARIABLES LIKE 'default%'; 支持模糊匹配
  • SHOW STATUS LIKE 'thread%'; 查看当前会话的线程状态

字符集

  • utf8mb3:阉割过的utf8字符集,只使⽤1〜3个字节表⽰字符
  • utf8mb4:正宗的utf8字符集,使⽤1〜4个字节表⽰字符

有⼀点需要注意,在MySQL中utf8是utf8mb3的别名,所以之后在MySQL中提到utf8就意味着使⽤1~3个字节来表⽰⼀个字符,如果⼤家有使⽤4字节编码⼀个字符的情况,⽐如存储⼀些emoji表情啥的,那请使⽤utf8mb4

  • SHOW VARIABLES LIKE 'character_set_server'; 查看服务端的字符集
  • SHOW VARIABLES LIKE 'collation_server'; 查看服务端的字符排序规则

当前我的系统排序规则为utf8_general_ci

  • 后缀释义
    • _ai accent insensitive 不区分重⾳
    • _as accent sensitive 区分重⾳
    • _ci case insensitive 不区分⼤⼩写
    • _cs case sensitive 区分⼤⼩写
    • _bin binary 以⼆进制⽅式⽐较

sJREtS.png

MyISAM和InnoDB的区别

  • MyISAM相比InnoDB不支持事务,MVCC,外键; 以及MyISAM是表级锁,InnoDB是行级锁

看到P55

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    db数据库相关,索引 or noSql

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions