其乐融融的IT技术小站

标签:索引

MySQL

得物面试:创建索引时会不会锁表?

2

其乐融融 发布于 2024/06/04 01:33:06

在 MySQL 5.6 之前,创建索引时会锁表,但在 MySQL 5.6.7 之后,因为新增了 Online DDL 技术,所以此时在添加索引时,是可以和 DML 数据操作语言 INSERT、UPDATE、DELETE、SELECT 等命令一起执行的。​

阅读()评论(0)赞 ()

Oracle

聊聊 Order By 是怎么实现的?

2

其乐融融 发布于 2024/06/01 01:21:06

实际上,row_id 是 MySQL 的一种优化算法,它首先考虑使用全字段排序。只有在认为字段长度过长可能影响效率时,才会采用 row_id 排序方式。此外,如果能够利用 sort_buffer 完成排序,MySQL 就不会使用临时文件。

阅读()评论(0)赞 ()

MySQL

什么是最左前缀匹配?为什么要遵守?

0

其乐融融 发布于 2024/05/28 01:33:10

在了解了索引跳跃扫描的执行过程后,一些聪明的读者可能会意识到,这种查询优化更适用于具有较少取值范围和低区分度的字段(比如性别),而当字段的区分度特别高时(比如出生年月日),这种查询可能会变得更慢。

阅读()评论(0)赞 ()

MySQL

MySQL是如何保证唯一性索引的唯一性的?

0

其乐融融 发布于 2024/05/25 01:33:12

在支持事务的存储引擎(如InnoDB)中,事务机制和锁定协议有助于维护索引的唯一性。当一个事务正在修改索引列时,其他事务对相同键值的修改会被适当地阻塞,直到第一个事务提交或回滚,确保数据的一致性和唯一性。

阅读()评论(0)赞 ()

MySQL

MySQL 索引完全指南:提升性能的黄金法则与终极技巧

1

其乐融融 发布于 2024/05/24 01:33:10

索引是提高 MySQL 查询性能的重要工具,但在使用索引时需要遵循一定的规则和最佳实践,以避免常见的索引失效问题。通过合理设计和维护索引,可以显著提升数据库的性能和响应速度。希望本文对你在 MySQL 索引的使用和优化方面有所帮助。

阅读()评论(0)赞 ()

MySQL

MySQL 索引优化手段详解

1

其乐融融 发布于 2024/04/18 01:33:14

MySQL中,正确地使用和优化索引可以显著提升数据检索速度。本文将深入探讨MySQL中常见的索引优化手段,并通过实例加以说明。

阅读()评论(0)赞 ()

MySQL

准线上事故之MySQL优化器索引选错

13

其乐融融 发布于 2024/03/07 01:33:03

这篇文章是基于工作实际中碰到的问题,把问题产生的原因和解决思路总结了下。文中针对提到的一些索引选择差异情况我们结合了解到的优化器执行策略,使用trace工具进行了验证。优化器有一套非常复杂的算法策略,本人对于MySQL的理解深度有限,这里就不详细分析了,还需要继续学习。

阅读()评论(0)赞 ()

MySQL

我们一起聊聊MySQL 索引的底层逻辑

11

其乐融融 发布于 2024/01/09 01:33:13

本文以 MySQL 数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是, MySQL 支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此 MySQL 数据库支持多种索引类型,如 B-Tree 索引,哈希索引,全文索引等等。为了避免混乱,将只关注于 B-Tree 索引,因为这是平常使用 MySQL 时主要打交道的索引。

阅读()评论(0)赞 ()

MySQL

真的,MySQL索引入门看这个就够了

0

其乐融融 发布于 2023/11/17 01:33:19

MySQL索引是数据库性能优化的关键工具,通过深入理解索引的类型、创建、维护和最佳实践,可以更好地利用它们,提高数据库查询性能,提供更快的数据检索速度。

阅读()评论(0)赞 ()

MySQL

MySQL 调优:MySQL 使用 USE INDEX 作为索引提示

4

其乐融融 发布于 2023/11/04 01:33:26

过度使用USE INDEX可能会导致查询性能下降。优化器通常能够更好地评估和选择索引,使用USE INDEX可能会限制其优化能力,导致不必要的索引使用和性能损失。在使用USE INDEX语句时需要谨慎评估和测试。建议在实际场景中进行性能测试和比较,确保使用USE INDEX确实能够提供更好的性能,而不是盲目使用。

阅读()评论(0)赞 ()

MySQL

MySQL索引,快速记忆法

0

其乐融融 发布于 2023/06/22 03:20:57

3. B+Tree的每个叶子节点增加了一个指向相邻叶子节点的指针,它的最后一个数据会指向下一个叶子节点的第一个数据,形成了一个有序链表的结构。

阅读()评论(0)赞 ()

MySQL

1.5万字+30张图盘点索引常见的11个知识点

6

其乐融融 发布于 2023/06/22 03:20:43

首先主要是讲了聚簇索引和非聚簇索引,随后讲了MySQL对于一些常见查询的优化,比如覆盖索引,索引下推,都是为了减少回表次数,从而减少带来的性能消耗,再后面就提到MySQL是如何选择索引的,最后介绍了索引失效的场景和索引建立的原则。

阅读()评论(0)赞 ()

MySQL

关于在 MySQL 排序中使用索引这件事!

16

其乐融融 发布于 2023/06/22 03:20:33

在 MySQL8 之前,默认会按照 group by 的字段进行排序,此时加上 order by null​ 就是告诉 MySQL,不用帮我排序了,直接返回结果就行了,因为如果不加 order by null,则可能会进行 filesort 排序,降低查询效率。

阅读()评论(0)赞 ()

MySQL

联合索引该如何选择合适的列?

3

其乐融融 发布于 2023/06/21 03:20:49

联合索引就是数据表中的多个字段,共同组成一个索引。由于 InnoDB 中索引的数据结构是一个 B+Tree,当是一个联合索引的时候,排序的时候会首先按照联合索引的第一个字段排序,如果第一个字段的值相同,则按照第二个字段排序,如果第二个字段的值也相同,则按照第三个字段排序,以此类推。

阅读()评论(0)赞 ()