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

顺企网官网电话苏州关键词优化公司

顺企网官网电话,苏州关键词优化公司,太原站扩建,公司网站怎么选#mysql一次查询,需要几次磁盘IO,一次IO影响的因素有哪些 存储引擎:Innodb和MyIsam; Innodb引擎:聚集索引(聚簇索引/主键索引)和非聚集索引(非聚簇索引/二级索引/辅助索引)&#xf…

#mysql一次查询,需要几次磁盘IO,一次IO影响的因素有哪些

  • 存储引擎:Innodb和MyIsam;

Innodb引擎:聚集索引(聚簇索引/主键索引)和非聚集索引(非聚簇索引/二级索引/辅助索引);

聚集索引:叶子结点存储的是行数剧;

非聚集索引:叶子结点存储的是数据的主键;

  • 一次查找:

聚集索引:(主键索引)从上至下遍历一次B+树,直到找到具体的主键,拿到叶子结点存储的数据。

非聚集索引:(二级索引)需要遍历两次B+树,第一次遍历是找到对应的主键,第二次遍历是根据主键找到具体的数据。

  • 回表概念:

回表就是通过二级索引拿到主键id之后,要再去遍历聚集索引的B+树,这个过程就叫做回表。回表的操作更多的是随机io,随机io在性能上还是比较低下的。

  • 执行一次sql的IO次数:
  1.  数据量小的话,直接把索引放到内存中,内存的消耗是远远低于磁盘io的,所以可以忽略不计;
  2.  数据量大的话,采用索引结构,B+树;
  3. 除了根节点之外,第二层级的数量得到了充分的扩展,相对于普通的二叉树,B+树的结构更加庞大又不失美感,假设叶节点不同元素占用情况为:左右指针各占4Byte,id值8Byte,目标记录指针4Byte,那么一个4Kb的磁盘块将大致可以容纳250个下级指针,100万行目标记录只需log250N=1000000即N=3的I/O次数,充分提升了每次节点I/O带来的检索效用,时间复杂度是O(lognN),这里的n是非叶子结点的个数。(PS:实际上innodb的数据页大小是16kb,这个n会更大,那么对应的,io次数也会更少);
  4. 在实际的查询中,IO次数可能会更小,因为有可能会把部分用到的索引读取到内存中,相对于磁盘IO来说,内存的io消耗可以忽略不计。一般来说B+Tree的高度一般都在2-4层,MySQL的InnoDB存储引擎在设计时是将根节点常驻内存的,也就是说查找某一键值的行记录时最多只需要1~3次磁盘I/O操作(根节点的那次不算磁盘I/O); 
  • 磁盘IO:数据库的数据存放在磁盘上面,磁盘读取依靠的是机械运动,分为寻道时间、旋转延迟、传输时间三个部分,这三个部分耗时相加就是一次磁盘IO的时间,大概9ms左右。这个成本是访问内存的十万倍左右;正是由于磁盘IO是非常昂贵的操作,所以计算机操作系统对此做了优化:
  • 预读;每一次IO时,不仅仅把当前磁盘地址的数据加载到内存,同时也把相邻数据也加载到内存缓冲区中。因为局部预读原理说明:当访问一个地址数据的时候,与其相邻的数据很快也会被访问到。每次磁盘IO读取的数据我们称之为一页(page)。一页的大小与操作系统有关,一般为4k或者8k。这也就意味着读取一页内数据的时候,实际上发生了一次磁盘IO。

因为有了磁盘IO预读机制,所以才有了减少磁盘IO的可能,因为一次磁盘IO操作,可以查找到物理存储中相邻的一大片数据。一次磁盘IO操作可以取出物理存储中相邻的一大片数据,如果查询的索引数据(就是B+树中从根节点一直到叶子节点整个过程中查询的节点数)都集中在该区域,那么只需要一次磁盘IO,否则就需要多次磁盘IO;

  • 我们为了减少磁盘IO的次数,就你必须降低树的深度,将“瘦高”的树变得“矮胖”。
    (1)、每个节点存储多个元素 
    (2)、摒弃二叉树结构,采用多叉树-----多路查找树
  • mysql一次普通查询经过的步骤 从查询过程上看,大致步骤是:
  1. 查看缓存中是否存在id;
  2. 如果有 则从内存中访问,否则要访问磁盘;
  3. 并将索引数据存入内存,利用索引来访问数据;
  4. 对于数据也会检查数据是否存在于内存;
  5. 如果没有则访问磁盘获取数据,读入内存;
  6. 返回结果给用户;
  • 今天的学习就到这里

http://www.dtcms.com/wzjs/781012.html

相关文章:

  • 大型网站开发php框架国外网站制作有哪些
  • 域名备案了 怎么建设网站增长超人网站建设价格
  • 企业网站咋做一个网站的建设需要哪些流程
  • 网站编辑面试问题和答案seo网站地图
  • 如何弄一个自己的网站广州越秀区美食攻略
  • 云南网站做的好的公司哪家好汤阴有没有做网站的公司
  • 网站工程是干啥的左右布局的网站
  • 山东省建设厅招标网站首页学习做网站大概多久时间
  • 高端设计网站公司公司网站文件夹设计
  • 重庆微网站开发公司教做衣服的网站有哪些
  • 揭阳网站免费建站清理空壳网站
  • 芜湖那里帮人做销售网站梧州网站建设制作
  • 温州企业网站建设公司wordpress无法超链接
  • 做o2o网站需要多少钱苏州城乡建设网站查询系统
  • 百合网网站建设与策划网店推广的渠道有哪些
  • 成交功能网站那个网站可以帮助做数学题
  • 投资建设个什么网站好WordPress怎么导入大数据库
  • 网易建站模板怎么在电脑上建立自己的网站
  • 优化网站建设做网站怎么挣钱最快
  • 中国山东网站建设辅助购卡网站怎么做
  • 南宁网站建设怎么样给外国小孩 做 英语题用的网站
  • 烟台网站制作开发北京制作网站公司排名
  • wordpress系统邮箱地址外贸网站优化
  • 网站制作公司费用营销网站的优势是什么意思
  • 服装网站首页设计服务企业建设网站
  • 黄陂区建设局网站宁波网站建设方案推广
  • 建设局全称悟空建站seo服务
  • php中英文网站模板郑州自助建站软件
  • gta 买房网站建设中h5网站建设
  • 广州高端网站建设公司东莞市门户网站建设怎么样