Navicat工具中建立数据库索引

一.实例

二.具体分析

1.Index Type

  • Normal:  普通索引
  • Unique: 唯一的,不可重复的
  • Full Text: 全文搜索的,用于搜索很长的文章,效果最好

​​​​​​​   1.1 ​​​​​​​在实际操作过程中,应该选取表中哪些字段作为索引?

  • ​​​​​​​选择唯一性索引
  • 为经常需要排序、分组和联合操作的字段建立索引
  • 为常作为查询条件的字段建立索引
  • 限制索引的数目
  • 尽量使用数据量少的索引
  • 尽量使用前缀来索引
  • 删除不再使用或者很少使用的索引​​​​​​​

2.Index method

  • BTREE: 需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,二叉树相同的道理,相当于建个排序后的数据集,使用二分法查找算法
  • HASH: 检索效率非常高,hash索引中存放的都是经过hash计算之后的值,而hash值的大小关系不一定与hash计算之前的值一样

2.1 为什么实际中普遍使用BTREE而不是HASH?

  • HASH索引仅仅能满足 =,  <=> 比较查询,不能进行范围查询(in, between …… and ……)。
  • hash索引无法被用来进行数据的排序操作
  • 对于组合索引,Hash 索引在计算 Hash 值的时候是组合索引键合并后再一起计算 Hash 值,而不是单独计算 Hash 值,所以通过组合索引的前面一个或几个索引键进行查询的时候,Hash 索引也无法被利用。BTREE索引在组合索引中的提现是按照最左侧原则。例如索引是key index (a,b,c)。 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进行查找。
  • Hash 索引遇到大量Hash值相等的情况后性能并不一定就会比B-Tree索引高。

 

 

 

 

 

 

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值