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

怎么做外贸网站推广今日头条权重查询

怎么做外贸网站推广,今日头条权重查询,做是么网站,温州建设局官方网站为什么80%的码农都做不了架构师?>>> 导读 在MySQL里常用的索引数据结构有B树索引和哈希索引两种,我们来看下这两种索引数据结构的区别及其不同的应用建议。 二者区别 备注:先说下, 在MySQL文档里,实际上是…

为什么80%的码农都做不了架构师?>>>   hot3.png

导读

在MySQL里常用的索引数据结构有B+树索引和哈希索引两种,我们来看下这两种索引数据结构的区别及其不同的应用建议。

二者区别

备注:先说下, 在MySQL文档里,实际上是把B+树索引写成了BTREE ,例如像下面这样的写法:

CREATE TABLE t(

aid int unsigned not null auto_increment,

userid int unsigned not null default 0,

username varchar(20) not null default ‘’,

detail varchar(255) not null default ‘’,

primary key(aid),

unique key(uid) USING BTREE ,

key (username(12)) USING BTREE — 此处 uname 列只创建了最左12个字符长度的部分索引

)engine=InnoDB;

一个经典的 B+树索引数据结构 见下图:

B+树是一个平衡的多叉树,从根节点到每个叶子节点的高度差值不超过1,而且同层级的节点间有指针相互链接。

在B+树上的常规检索,从根节点到叶子节点的搜索效率基本相当,不会出现大幅波动,而且基于索引的顺序扫描时,也可以利用双向指针快速左右移动,效率非常高。

因此,B+树索引被广泛应用于数据库、文件系统等场景。顺便说一下,xfs文件系统比ext3/ext4效率高很多的原因之一就是,它的文件及目录索引结构全部采用B+树索引,而ext3/ext4的文件目录结构则采用Linked list, hashed B-tree、Extents/Bitmap等索引数据结构,因此在高I/O压力下,其IOPS能力不如xfs。

详细可参见:

https://en.wikipedia.org/wiki/Ext4https://en.wikipedia.org/wiki/XFS

而 哈希索引的示意图 则是这样的:

简单地说, 哈希索引就是采用一定的哈希算法 ,把键值换算成新的哈希值,检索时不需要类似B+树那样从根节点到叶子节点逐级查找,只需一次哈希算法即可立刻定位到相应的位置,速度非常快。

从上面的图来看,B+树索引和哈希索引的明显区别是:

  • 如果是等值查询,那么哈希索引明显有绝对优势,因为只需要经过一次算法即可找到相应的键值;当然了,这个前提是,键值都是唯一的。如果键值不是唯一的,就需要先找到该键所在位置,然后再根据链表往后扫描,直到找到相应的数据;

  • 从示意图中也能看到, 如果是范围查询检索,这时候哈希索引就毫无用武之地了 ,因为原先是有序的键值,经过哈希算法后,有可能变成不连续的了,就没办法再利用索引完成范围查询检索;

  • 同理, 哈希索引也没办法利用索引完成排序 ,以及like ‘xxx%’ 这样的部分模糊查询(这种部分模糊查询,其实本质上也是范围查询);

  • 哈希索引也不支持多列联合索引的最左匹配规则;

  • B+树索引的关键字检索效率比较平均,不像B树那样波动幅度大, 在有大量重复键值情况下,哈希索引的效率也是极低的,因为存在所谓的哈希碰撞问题 。

后记

在MySQL中,只有HEAP/MEMORY引擎表才能显式支持哈希索引(NDB也支持,但这个不常用),InnoDB引擎的自适应哈希索引(adaptive hash index)不在此列,因为这不是创建索引时可指定的。

还需要注意到:HEAP/MEMORY引擎表在mysql实例重启后,数据会丢失。

通常,B+树索引结构适用于绝大多数场景,像下面这种场景用哈希索引才更有优势:

在HEAP表中,如果存储的数据重复度很低(也就是说基数很大),对该列数据以等值查询为主,没有范围查询、没有排序的时候,特别适合采用哈希索引

例如这种SQL:SELECT … FROM t WHERE C1 = ?; — 仅等值查询

在大多数场景下,都会有范围查询、排序、分组等查询特征,用B+树索引就可以了。

转载于:https://my.oschina.net/hosee/blog/686717

http://www.lbrq.cn/news/2619739.html

相关文章:

  • 特价网站建设费用金华百度seo
  • 网站开发要学哪些知识seo基础
  • 临高网站建设企业网址怎么注册
  • 做网站贵不高清网站推广免费下载
  • 无锡网页设计培训公司百度网站排名优化价格
  • seo做网站赚钱运用搜索引擎营销的案例
  • 网站建设费用计入哪个科目百度搜索关键词排行榜
  • 推广小程序拿佣金微信小程序排名关键词优化
  • 苏州手工活外发加工网厦门百度快速优化排名
  • 共享wifi小程序搭建公众号seo排名软件
  • 公司网站维护方案网站换了域名怎么查
  • 广州行业网站建设推推蛙网站诊断
  • 做网站的经历感想今日大新闻
  • 举例行业门户网站网页分析报告案例
  • 广州住房建设部网站俄罗斯引擎搜索
  • 做网站用属于前端网站创建
  • 南通高端网站建设公司百度站长平台官网登录入口
  • PHP动态网站开发实训总结我想做电商怎么加入
  • 企业网站的新闻资讯版块有哪些宣城网站seo
  • 广州市专业做网站谷歌搜索引擎下载安装
  • wordpress批量删除评论灰色关键词排名优化
  • 智联招聘网最新招聘官网下载商丘seo排名
  • app 移动网站建设专业网站快速
  • 企业如何通过地方网站宣传网站推特是谁的公司
  • 郑州网站制作电话seo指搜索引擎
  • 网站备案号申请流程seo顾问培训
  • 网友要求你帮助他在某网站做测试搜索引擎seo关键词优化
  • 装饰设计网站建设跨境电商seo什么意思
  • 物业网站模板下载网易最新消息新闻
  • 日ip5000的网站怎么做seo手机优化软件哪个好用
  • MyBatis-Plus 更新逻辑删除字段(is_delete)无效问题分析与解决方案
  • uni-app X能成为下一个Flutter吗?
  • Android视图状态以及重绘
  • RabbitMQ-日常运维命令
  • nuxt学习笔记
  • RHCA03--硬件监控及内核模块调优