理解一下MySQL8
理解一下MySQL8
之前一直使用MySQL5,最近又遇到新的项目,尝试一下升级到8,看看山上的风景。
新特性
MySQL直接从5.7跳跃发布了8.0,官方说改变很大,版本号都不需要递进了。
- 增强的NoSQL这里是作为文档数据库(类似MongoDB),使用前需要打开X插件(提供X协议支持,配套客户端为MySQL Shell及相关连接器);
- 更好的索引机制,新增了隐藏索引和降序索引 ;
- 加密机制默认为sha2,原来是sha1,因为谷歌破解了sha1后才改了 ;
- 增强InnoDB,包括自增、索引、死锁、共享锁、加密 等,还支持原子数据定义语言(Atomic DDL);
- 增加了支持事务数据字典1 ;
- 修改默认字符集为utf8mb4。
存储引擎
Engine | Support | Comment | Transactions | XA | Savepoints |
---|---|---|---|---|---|
InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
MyISAM | YES | MyISAM storage engine | NO | NO | NO |
CSV | YES | CSV storage engine | NO | NO | NO |
ARCHIVE | YES | Archive storage engine | NO | NO | NO |
PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
对比一下隔壁的MariaDB的存储引擎:
Engine | Support | Comment | Transactions | XA | Savepoints |
---|---|---|---|---|---|
MRG_MyISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
CSV | YES | Stores tables as CSV files | NO | NO | NO |
MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
MyISAM | YES | Non-transactional engine with good performance and small data footprint | NO | NO | NO |
SEQUENCE | YES | Generated tables filled with sequential values | YES | NO | YES |
Aria | YES | Crash-safe tables with MyISAM heritage | NO | NO | NO |
PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
InnoDB | DEFAULT | Percona-XtraDB, Supports transactions, row-level locking, foreign keys and encryption for tables | YES | YES | YES |
新版MySQL8比mariadb少了sequence,但是多了archive和Blackhole。
索引
待补充。。。