首页 > 网络 > 网络热点

MySQL专题1:

常驻编辑 网络热点 2022-06-04 字段   索引   节点   字节   长度   区别   类型   引擎   文件   专题   数据

VARBINARY 在插入不会去填补0x00字节, 查询的时候也不会丢弃任何字节, 在比较的时候, 所有的字节都是有效的,EuL拜客生活常识网

区别和选择

如果需要存储的字符串的长度跟所有值的平均长度相差不大, 适合用 CHAR, 如MD5; 对于经常改变的值, CHAR 优于 VARCHAR, 原因是固定长度的行不容易产生碎片.
对于很短的列, CHAR 优于 VHARCHAR, 原因是 VHARCHAR 需要额外一个或两个字节存储字符串的长度.
EuL拜客生活常识网

BINARY 和 VARBINARY 是和编码无关的存储, 适合存储二进制数据.EuL拜客生活常识网



EuL拜客生活常识网

MySQL 有哪些存储引擎? 都有什么区别?

MySQL 几种存储引擎的应用场景?

MyISAM

  • 较高的插入和查询速度, 不支持事务
  • 如果数据表主要用来插入和查询记录, 则MyISAM能提供较高的处理效率

InnoDB

事务型数据库的首选引擎, 支持事务安全表 ACID, 支持行锁定和外键, 是默认的引擎EuL拜客生活常识网

如果要提供提交、回滚、崩溃恢复能力的事务安全(ACID兼容)能力, 并要求实现并发控制, InnoDB是一个好的选择EuL拜客生活常识网

InnoDB 和 MyISAM之间的区别:EuL拜客生活常识网

  1. InnoDB支持事务, 而MyISAM不支持事务
  2. InnoDB支持行级锁, 而MyISAM支持表级锁
  3. InnoDB支持MVCC, 而MyISAM不支持(MVCC 多版本并发控制, 保证InnoDB的事务隔离级别下一致性读操作)
  4. InnoDB支持外键, 而MyISAM不支持

MEMORY/HEAP

存储引擎将表中的数据存储到内存中, 为查询和引用其他表数据提供快速访问EuL拜客生活常识网

如果只是临时存放数据, 数据量不大, 并且不需要较高的数据安全性, 可以选择将数据保存在内存中的Memory引擎, MySQL中使用该引擎作为临时表, 存放查询的中间结果, 数据的处理速度很快但是安全性不高.EuL拜客生活常识网

Archive

只允许INSERT和SELECT操作. Archive支持高并发的插入操作, 但是本身不是事务安全的. Archive非常适合存储归档数据, 如记录日志信息可以使用ArchiveEuL拜客生活常识网

MyISAM 和 InnoDB 的区别

第一个重大区别是InnoDB的数据文件本身就是索引文件. MyISAM索引文件和数据文件是分离的, 索引文件仅保存数据记录的地址. 而在InnoDB中, 表数据文件本身就是按B+Tree组织的一个索 引结构, 这棵树的叶节点data域保存了完整的数据记录. 这个索引的key是数据表的主键, 因此InnoDB表数据文件本身就是主索引.
InnoDB要求表必须有主键(MyISAM可以没有), 如果没有显式指定, 则MySQL系统会自动选择一个可以唯一标识数据记录的列 作为主键, 如果不存在这种列, 则MySQL自动为InnoDB表生成一个隐含字段作为主键, 这个字段长度为6个字节, 类型为长整形
EuL拜客生活常识网

第二个与MyISAM索引的不同是InnoDB的辅助索引data域存储相应记录主键的值而不是地址. 换句话说, InnoDB的所有辅助索引都引用主键作为data域EuL拜客生活常识网

相关阅读:

  • 字段类型有哪些(字段长度怎么设置)
  • 技术人必备的接口测试神器:apifox、apipost、yapi,实用
  • 我做开发测试犯的错
  • 基于SpringBoot微服务开发中的异常处理最佳实践
  • 你今天玩游戏了吗?游戏道具了解下
  • 面渣逆袭:MySQL六十六问,两万字+五十图详解!有点六
  • 什么是CSRF
  • 最全SQL
  • 云原生(十四)
  • MySQL索引原理篇:深入数据库底层揭开索引机制的神秘面
    • 网站地图 |
    • 声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不做权威认证,如若验证其真实性,请咨询相关权威专业人士。