欢迎您访问南华自考网!

5分钟打动人心的演讲稿(5分钟发言稿多少字)

更新时间:2023-12-03 20:21:29作者:51data

简介:数据库索引是一个不容忽视的点。一个好的指数可以让查询更快,但反之,一个不合适的指数会带来不利影响。本文将通过四个问题来探讨索引的概念以及如何合理使用,希望对你有所帮助。这里有四个问题。

为什么要在表中添加主键?为什么索引会使查询更快?为什么索引会减慢写入、修改和删除的速度?在什么情况下应该同时在两个字段上建立索引?为什么要添加主键?

没有主键的表。里面的数据杂乱无章的存储在磁盘上。如果在数据量大的时候想要查询,一些数据一个一个的遍历速度很慢。如果给表一个主键,表在磁盘上的存储结构就会从整齐的排列结构变成平衡的树形结构。通过将这种结构与高效的算法相结合,查询速率将变得更快(这里的主键也是索引)。

5分钟打动人心的演讲稿(5分钟发言稿多少字)

指数如何让查询更快?

B-tree结构(B-tree也叫“B-tree”的变种,节点之间的链表比较多)高效算法索引是通过提前排列顺序,构建一个平衡的树结构,以便在搜索中应用二分搜索法等高效算法。比如顺序搜索的复杂度是O(n),排序后二分搜索法的责任是O(log2n)。当n的值较大时,它们之间的效率差距会很明显。(这里涉及到了B-平衡树结构和二分搜索法方法,这里就不详细解释了。想了解的朋友可以看相关资料)

为什么索引会降低添加、删除等操作的速度?

索引可以提高读性能,但是也会降低写性能。添加和删除数据会破坏平衡树的平衡。因此,每次数据发生变化时,DBMS都必须重新组织树结构以保证其正确性,这就带来了性能开销。

什么情况下应该建立双指数?

这里先介绍两个名词。

聚集索引:一个表中只能有一个聚集索引(主键),因为主键的作用是将表数据格式转换成平衡树的格式。非聚集索引:它也采用平衡树结构。每次在一个字段中建立一个新的索引,都会复制该字段中数据的一个副本来生成索引,节点包含字段值和主键值。因此,向表中添加索引会增加表的体积并占用磁盘存储空间。

区别:可以通过聚集索引直接找到需要查找的数据。但是,通过非聚集索引,可以找到记录对应的主键值,然后使用主键值通过聚集索引找到所需的数据。也就是说,使用非聚焦索引最终会通过聚焦索引来搜索目标数据,而建立过多的索引会导致DBMS需要维护多种数据结构,从而导致性能下降。

那么什么情况下应该建立双指数呢?

以下是两个演示之间的比较。

演示1:

//将年份创建为非聚集索引

在USER_INFO(名称,年份)上创建索引index _ name _ year

//按年份查找名称,需要先找到年份平衡树得到主键,然后用主键在聚簇索引中找到目标数据值。

从userInfo中选择姓名,其中year=' 12

演示2:

//建立带有名称和年份字段的双重索引

在USER_INFO(名称,年份)上创建索引index _ name _ year

//按年份查找名称

从userInfo中选择姓名,其中year='12 '

//此时,将首先检查非聚集索引的年平衡树。当发现子叶节点除了主键还有name字段的值时,可以直接返回值,不需要经过聚集索引。

摘要

索引是通过平衡树和算法的效率来完成的提高查询但是因为写操作会破坏树的平衡,DBMS需要重新梳理树,以此类推,索引会导致写效率降低。但一切都需要结合实际场景合理应用聚集索引、非聚焦索引、双重索引等。才能发挥索引的强大作用。

感谢您的阅读。如果你喜欢这篇文章,请关注并转发。本头条将继续分享IT技术知识。如果对文章内容有其他想法、意见和建议,欢迎大家讨论,共同进步。

相关文章

为您推荐

为什么你精通CRUD,却搞不懂数据库的基本原理?

作者:黄小斜来源:https://juejin.im/post/5e5528b7e51d4526ce61451d本文思维导图​数据库和关系型数据库作为一个程序员,不了解数据库怎么能行,那么数据库到底是个啥呢,作为一个Java工程师,平时和数

2023-12-03 20:21

深入了解数据库原理及底层

1. 请简洁描述 MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?SQL 标准定义的四个隔离级别为:read uncommited :读到未提交数据read committed:脏读,不可重复读repeatab

2023-12-03 20:21

数据库系统原理:第一章 数据库系统概述

第一节 数据库基本概念 1. 数据:描述事物的符号记录,是指用物理符号记录下来的,可以鉴别的信息。 2. 数据库:存储数据的仓库,是指长期存储在计算机中,有组织可共享的数据集合。 3. 数据库管理系统:是指专门用于建立和管理数据库的软件,介

2023-12-03 20:21

考研政治史纲重点(考研政治大纲解析)

【史纲篇】辛亥革命的意义、局限性、失败原因及教训仍是重点,注意把握中华人民共和国和中国共产党成立的意义,重复命题的可能性很大,最后要注意一下抗日民族统一战线的形成、发展以及共产党所作的努力。【选择题所含知识点】1、帝国主义对中国的侵略:军事

2023-12-03 19:52

让货币走下神坛(货币的神奇之处在于)

货币是手段而不是目的 打破坚冰走向新天地 人们应该尊重物质世界客观规律,尊重经济规律,但不能因循守旧,墨守成规,固步自封。在尊重规律的前提下,与时俱进,跟上时代的需要,发挥人们主观能动性,科技创新,只有这样了,人类世界才能打破常规,促进人类

2023-12-03 19:52

礼花(礼和听的草书)

“礼”是表示敬意的通称,在古代,“礼”是制度、规则和一种社会意识观念。在人际交往中,人们用“礼”来约束自己的行为以示对他人的尊敬。 孟子曰:“恭敬之心,礼也”(《孟子·告子上》),是说恭敬之心就是“礼”,以礼待人,恭敬之心足矣。古人对“礼

2023-12-03 19:52

加载中...