当前位置: 首页 > news >正文

人物摄影网站长沙 服务

人物摄影网站,长沙 服务,做教师知识网站有哪些内容,建设一个一般网站需要多少时间Mysql实战-SQL存储引擎 前面我们讲解了索引的存储结构#xff0c;BTree的索引结构#xff0c;我们一般都知道Mysql的存储引擎有两种#xff0c;MyISAM和InnoDB,今天我们来详细讲解下Mysql的存储引擎 文章目录 Mysql实战-SQL存储引擎1.存储引擎2.MyISAM的特点3. InnoDB的特…Mysql实战-SQL存储引擎 前面我们讲解了索引的存储结构BTree的索引结构我们一般都知道Mysql的存储引擎有两种MyISAM和InnoDB,今天我们来详细讲解下Mysql的存储引擎 文章目录 Mysql实战-SQL存储引擎1.存储引擎2.MyISAM的特点3. InnoDB的特点4.InnoDB和MyISAM的对比5.索引树层级 1.存储引擎 什么是存储引擎 MySQL中的数据用各种不同的技术存储在文件(或者内存)中。每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力 存储引擎就是数据库底层的软件组织数据库管理系统使用存储引擎来进行增删改查不同的引擎底层采用不同的存储机制索引机制锁机制等等Mysql常用的存储引擎 Mysql常用的存储引擎有两种, MyISAM和InnoDB 2.MyISAM的特点 MyISAM 是MySQL最早的存储引擎MyISAM 支持表级锁定和高速读取MyISAM 既不支持事务、也不支持外键MyISAM 优势是访问速度快但是表级别的锁定限制了它在读写负载方面的性能MyISAM 它经常应用于只读或者以读为主的数据场景 MyISAM会把数据存储在磁盘上分别存储成3个文件其中文件名和表名都相同但是扩展名分别为 .frm(存储表定义).MYD(MYData存储数据).MYI(MYIndex存储索引) MyISAM的索引的索引和数据是分开存储的他的结构是BTree 在Tree的叶子节点的数据区域存储的是实际数据的地址指向实际的地址这种索引就是非聚集索引 3. InnoDB的特点 InnoDBMySql 5.6 版本默认的存储引擎InnoDB 是一个事务安全的存储引擎它具备提交、回滚以及崩溃恢复的功能以保护用户数InnoDB InnoDB采用行级锁定能够提高多用户并发数以及性能InnoDB 将用户数据存储在聚集索引中以减少基于主键的普通查询所带来的 I/O 开销InnoDB支持事务处理和外键约束等功能 InnoDB会把数据存储在磁盘上分别存储成2个文件 .frm(存储表定义)ibd(数据和索引文件) 它和MyISAM很大的区别就是InnoDB的数据文件本身就是索引文件索引和数据是放在一起的只有一个文件idb文件后缀结尾 InnoDB的索引结构也是BTree结构但是Tree的叶子节点保存的就是完整的数据记录索引的Key就是表的主键数据文件本身就是主索引这就要求表结构必须有主键即使没有显式的设置主键也会默认生成一个隐式主键 数据和索引在一起叶子节点包含了完整的数据记录这种索引就叫做聚集索引 4.InnoDB和MyISAM的对比 对比InnoDB引擎MyISAM引擎文件存储方式.frm 后缀是表定义文件ibd(数据和索引文件一起).frm后缀是表定义文件.MYD是数据文件.MYI是索引文件索引方式BTreeBTree辅助索引data区域Tree的数据区域data存储的是索引主键的值所以需要靠辅助索引获得主键然后用主键到主索引中检索获得记录也就是回表Tree的数据区域data存储的是索引地址事务支持支持事务ACID不支持事务锁机制表级锁行级锁表级锁count(*)查询全表扫描MyISAM表级锁直接存储了表行数count(*)直接读取无所扫描读效率效率低效率高写效率效率高效率低常用场景读写操作读操作读多写少 5.索引树层级 经常听到别人说Mysql的索引树一般会在3层这个是有什么依据为什么说Mysql的索引树一般都在1-3层的结构 下面我们来具体的计算一下看看3层结构可以支持多少数据 我们可以根据B树的原理进行一下数据推算磁盘每页数据为4KMysql的B树 对此又进行了一次调整在Mysql也有自己的页概念Mysql每一页数据等于磁盘4页的大小Mysql里面的一页数据其实是16K那么也就意味着Mysql里B树的非叶子节点可存储16K的数据我们计算一个索引大小Mysql规定一个索引占8B索引和下一级索引之间的下一层地址空间占6B也就是一个索引是 86 14B我们按照每个非叶子节点的16K来计算Mysql索引树每个节点能容纳(16*1024B)/14B1170个索引key及指针叶子节点是存放数据节点的假设每条数据的大小是1KB,那么每一个叶子节点都可以存放 16KB/1KB16个数据假设我们现在有一个高度为3的BTree存满数据第一层 可以只放 索引指针 1170个第二层同样是 1170个索引指针第三层 可以存放16个数据这里不是索引和指针了是真实数据 那么三层的树我们可以存放 1170117016 21,902,400 2KW 两千万条数据只需要3次I/O操作我们就可以精确定位数据 所以我们的表数据一般而言都保持在千万级以内索引树都会保持在3层之内因此Mysql的索引树一般都在1-3层。 至此我们彻底的了解了mysql存储引擎的分类及区别也深入探讨了索引树一般会在3层的底层逻辑
http://www.w-s-a.com/news/435228/

相关文章:

  • 跨境电商平台网站广州地铁站路线图
  • 吉林省交通建设集团有限公司网站企业网站推广的策略有哪些
  • 网站内链怎么做更好郑州网站建设哪家便宜
  • 建设大型购物网站运城哪里做网站
  • php企业网站通讯录管理系统做网站在线支付系统多少钱?
  • 怎么区分用vs和dw做的网站贝贝网网站开发背景
  • 无锡网站建设制作建设信息网查询
  • 彩票系统网站开发建设人力资源网官网
  • 有专门下载地图做方案的网站吗网站建设平台计划书
  • 网站闭站保护10个著名摄影网站
  • 安徽省建设工程信息网官网首页网站关键词排名优化工具
  • 深圳网站建设 百业网站专题教程
  • 公司seo是指什么意思如何来做网站优化
  • 化妆品网站建设平台的分析湖南网站搜索排名优化电话
  • 织梦网站修改教程视频教程管理类网站开发价格
  • 如何让新网站快速收录企业建站的作用是什么
  • 在线制作简历的网站做的最好的微电影网站
  • h5制作的网站网络游戏投诉平台
  • 做外贸网站好还是内贸网站好珠海新盈科技有限公 网站建设
  • php和网站开发网络软营销
  • 大型做网站的公司有哪些wordpress注册链接无效
  • 推荐门户网站建设公司网站开发移动端
  • 公司网站的栏目设置成都十大监理公司排名
  • 安溪住房和城乡建设网站关岭县建设局网站
  • 网站域名注销备案徐州房产网
  • 筑聘网windows优化大师自动安装
  • 龙华高端网站设计门户网站建设方案公司
  • 网站开发作用网站建设哪家专业
  • 网站设计报告总结南宁商城网站推广公司
  • 淘宝做店招的网站免费网站建设自助建站