Skip to content

MySQL 深入了解 #130

@Draymonders

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中utf8utf8mb3的别名,所以之后在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

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