数据索引

本文详细介绍了数据索引的作用,对比了B+树索引和哈希索引的优劣,强调了哈希索引在等值查询的优势以及不支持范围查询的特点。讨论了表分区的概念和好处,以及与分表的区别。此外,文章还涵盖了MySQL的行级锁定优缺点、查询优化技巧,如使用查询缓存、explain分析查询、预编译语句等,并讲解了key和index的区别,以及MyISAM和InnoDB存储引擎的差异。最后提出了数据库表创建的注意事项,包括字段设计和表结构优化建议。
摘要由CSDN通过智能技术生成

一、为什么使用能提高效率

数据索引的存储是 有序的
在有序的情况下, 通过索引查询一个数据是无需遍历索引记录的
极端情况下,数据索引的查询效率为二分法查询效率,趋近于log2(N)
二、B+树索引和哈希索引的区别

B+树是一个平衡的多叉树,从根节点到每个叶子节点的高度差值不超过1,而且同层级的节点间有指针相互链接,是有序的,如下图:
在这里插入图片描述

哈希索引就是采用一定的哈希算法,把键值换算成新的哈希值,检索时不需要类似B+树那样从根节点到叶子节点逐级查找,只需一次哈希算法即可,是无序的,如下图所示:

三、哈希索引的优势:

等值查询,哈希索引具有绝对优势(前提是:没有大量重复键值,如果大量重复键值时,哈希索引的效率很低,因为存在所谓的哈希碰撞问题。

四、哈希索引不适用的场景:

不支持 范围查询
不支持索引完成排序
不支持联合索引的最左前缀匹配规则
五、什么是表分区?

表分区,是指根据一定规则,将数据库中的一张表分解成多个更小的,容易管理的部分。从逻辑上看,只有一张表,但是底层却是由多个物理分区组成

六、表分区与分表的区别?

分表:指的是通过一定规则, 将一张表分解成多 张不同的表。比如将用户订单记录根据时间成多个表。

分表与分区的区别在于:分区从逻辑上来讲只有一张表 ,而分表则是将一张表分解成多张表。

七、表分区有什么好处?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值