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

海南房地产网站移商网站建设

海南房地产网站,移商网站建设,古镇做灯饰网站的公司,vps怎么搭建wordpress为什么MySQL的MyISAM和InnoDB存储引擎索引底层选择B树#xff0c;而不是B树#xff1f;哈希索引#xff1a;具体项目实践步骤#xff1a; 为什么MySQL的MyISAM和InnoDB存储引擎索引底层选择B树#xff0c;而不是B树#xff1f; 对于B树#xff1a; 索引数据内容分散在不… 为什么MySQL的MyISAM和InnoDB存储引擎索引底层选择B树而不是B树哈希索引具体项目实践步骤 为什么MySQL的MyISAM和InnoDB存储引擎索引底层选择B树而不是B树 对于B树 索引数据内容分散在不同的节点上离根节点近搜索就快离根节点远搜索就慢。 花费的磁盘IO次数不平均每一行数据搜索花费的时间也不平均。 每一个非叶子节点上不仅仅要存储索引key还要存储索引值所在那一行的data数据。一个节点所能存放的索引key值的个数比只存储索引key值的个数要少很多。 B树不方便做范围搜索整表遍历也不方便。 对于B树 每一个非叶子节点只存放key不存放data好处就是一个节点可以存放更多的key值在理论上来说层数会更低搜索效率会更高。 叶子节点上存储了所有的索引值和数据data搜索每一个索引对应的值data都需要到达叶子节点上这样每一行数据搜索花费的时间非常平均。 叶子节点被串在一个链表当中形成了一个有序链表如果要进行索引树的搜索或者整表搜索或者范围搜索可直接遍历有序链表效率大大提升。 哈希索引 基于哈希表数据结构实现时间复杂度是O(1)。对于memory内存的存储引擎操作比较适合不适合磁盘IO操作。哈希索引没办法处理磁盘上的数据加载到内存上构建高效的搜索数据结构因为它没有办法减少磁盘IO次数。 由于哈希表中的元素没有顺序哈希索引只适合等值搜索比较不适合范围搜索前缀搜索ORDER BY排序等。 在InnoDB存储引擎下对于频繁的使用二级索引会被自动优化–自适应哈希索引即它会根据这个二级索引在内存上根据二级索引树B树上的二级索引值在内存上构建一个哈希索引以加快搜索。 自适应哈希索引本身的数据维护也是要耗费性能的并不是说自适应哈希索引在任何情况下都会提升二级索引的查询性能。应该按照参数指标来具体分析是否打开或关闭自适应哈希索引。 show engine innodb status\G;主要可以看到 1. 出现RW-latch等待的线程数量自适应哈希索引默认分配了8个分区同一个分区等待的线程数量过多 2. 0.00 hash searches/s, 0.00 non-hash searches/s 可以看到自适应哈希索引搜索的使用频率和二级索引树搜索的频率。当自适应哈希索引搜索的使用频率低时要考虑关闭自适应哈希索引。 下面是官方文档介绍 In MySQL 5.7, the adaptive hash index search system is partitioned. Each index is bound to a specific partition, and each partition is protected by a separate latch. Partitioning is controlled by the innodb_adaptive_hash_index_parts configuration option. In earlier releases, the adaptive hash index search system was protected by a single latch which could become a point of contention under heavy workloads. The innodb_adaptive_hash_index_parts option is set to 8 by default. The maximum setting is 512. The hash index is always built based on an existing B-tree index on the table. InnoDB can build a hash index on a prefix of any length of the key defined for the B-tree, depending on the pattern of searches that InnoDB observes for the B-tree index. A hash index can be partial, covering only those pages of the index that are often accessed. You can monitor the use of the adaptive hash index and the contention for its use in the SEMAPHORES section of the output of the SHOW ENGINE INNODB STATUS command. If you see many threads waiting on an RW-latch created in btr0sea.c, then it might be useful to disable adaptive hash indexing. 具体项目实践步骤 1.通过慢查询日志 可设置合理的业务可以接收的慢查询时间 2.压测执行各种业务 3.查看慢查询日志找出所有的执行耗时的sql语句 4.用explain分析这些耗时的sql 5.举例子解决问题 可通过 show variables like profiling;查看profiling的运行状态 set profiling on;show profiles 查看sql语句具体详细的耗费时间。
http://www.tj-hxxt.cn/news/130483.html

相关文章:

  • 建设网站的价格腐女喜欢做的网站
  • 营销型网站建设风格设定包括哪些方面如何统计网站访问量
  • 做网站租用服务器成都装修报价明细
  • 电脑网站开发汶上网站建设哪家好
  • 国外优惠卷网站怎么做网站群怎么做
  • 网站开发要加班吗潍坊网站制作工具
  • 网站首页自动下拉广告闽侯县住房和城乡建设局网站
  • 设计网站的软件如何查看网站开发语言
  • 做推广的网站吗企业app定制开发
  • 安平网站建设网上营销的概念
  • dw+如何做自适应网站做区块链的网站
  • 如何做外贸品牌网站建设句容建设工程备案网站
  • 南阳做网站aokuo《基层建设》官方网站
  • 闵行广州网站建设百度seo排名如何提升
  • 哪里网站备案最快在线做字网站
  • 做企业网站的代码张家港网站设计建设
  • 西安网站设计建设公司 交通做网站要学些什么软件
  • 现在网站做多宽crm管理系统
  • 专业网站快速wordpress建图片网站
  • 用ps做零食网站模板网站顶部怎么做新浪链接
  • 违禁网站用什么浏览器宝安专业做网站
  • 网站图片如何做超链接怎么做下载类的网站
  • php自己做网站访问量计算淮北论坛最新招聘
  • 城乡住房建设厅网站首页移动终端开发
  • 无锡品牌网站建设培训网站系统建设
  • 滑县网站建设wordpress部署php
  • 商业网站的创建程序网站更改了资料 百度什么时侯来抓取
  • 昆明网站建设在河科技如何使用二级域名做网站
  • asp网站攻击网站开发实验总结
  • 做网站支付系统难度wordpress homepage plugin