MySQL基础知识:索引

news2024/11/16 9:47:54

一、索引基础知识

(一)辅助索引/二级索引

叶子节点除了包含键值以外,每个叶子节点中的索引行中还包含了一个书签( bookmark) (每个索引一颗B+树,不包含行记录的全部数据)

(二) 回表

通过辅助索引获得主键,然后再通过主键索引(聚集索引)来找到一个完整的行记录。

 (三)联合索引/复合索引

将表上的多个列组合起来进行索引我们称之为联合索引或者复合索引

(四) 覆盖索引

从辅助索引中就可以得到查询的记录,而不需要查询聚集索引中的记录

二、高性能的索引创建策略

1、一个索引就是一个B+树,索引让我们的查询可以快速定位和扫描到我们需要的数据记录上,加快查询的速度。

2、一个select查询语句在执行过程中一般最多能使用一个二级索引,即使在where条件中用了多个二级索引。

(一)索引列的类型尽量小

索引的类型比较小处理起来会比较快。

(二)索引列的选择

索引的选择性/离散性:不重复的索引值和数据表的记录总数(N)的比值(范围1/N到1) 越高则查询效率越高。

(三)前缀索引

针对blob、text、很长的varchar字段,mysql不支持索引他们的全部长度,需建立前缀索引。 语法:Alter table tableName add key/index (column(X)) 前缀索引的选择(X): 缺点:无法应用于order by 和 group by,也无法做覆盖索引。

(四)后缀索引

mysql不支持后缀索引。 可以通过在表中添加一个新列,用于保存要被建立后缀索引的字段倒排值,然后建立前缀索引。 场景:查询邮箱后缀。

(五)只为搜索、排序或分组的列创建索引

建立索引在插入数据时会耗费大量资源,因此在不经常使用查询的字段无需建立索引。

(六)多列索引

将选择性最高的列放到索引最前列 根据那些运行频率最高的查询来调整索引列的顺序 优化性能时,需要使用相同的列但顺序不同的索引来满足不同类型的查询需求。

总结:

对于一个查询而言,三星索引可能是其最好的索引。 满足的条件如下: 索引将相关的记录放到一起则获得一星 如果索引中的数据顺序和查找中的排列顺序一致则获得二星(排序星) 如果索引中的列包含了查询中需要的全部列则获得三星(宽索引星)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/634911.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第一章 数据处理篇:数据集读取和构建

说在前面的话 满打满算工作也有三年了,还是没有感觉到自己和刚毕业相比有什么明显的进步。 严格来讲,代码力确实有提升,对各类工具的使用也更加熟练。但是对算法的理解和从0开始编程的能力仍然没有什么长进。归根到底,是因为在工作…

算法学习day18

文章目录 513.找树左下角的值递归迭代 112 .路径总和递归迭代 113.路径总和II递归 106.从中序与后序遍历序列构造二叉树递归 105.从前序与中序遍历序列构造二叉树卡尔递归版本递归优化 总结 513.找树左下角的值 给定一个二叉树的 根节点 root,请找出该二叉树的 最底…

PPT里文字太多如何排版-一口气教你7种布局瞬间让PPT高大上起来

简介 这是我们学PPT处于初级到中级进化阶段常做的一件事,就是拿了这种纯文字类版面来做布局。而且这种文字都是政企类的、相当苦涩难懂、无法创意。 因此我们会要求使用7种排版来优化这个版面。这和达芳奇画鸡蛋很像,这样的练习需要坚持一段时间,就是拿了纯文字来beautifu…

【Flutter】如何给按钮添加圆角 自定义圆角按钮样式

文章目录 一、前言二、创建基本按钮三、如何在 Flutter 中创建圆角按钮四、自定义圆角按钮1.修改按钮颜色2.修改圆角半径 五、完整代码示例六、总结 一、前言 欢迎来到 Flutter 的世界!在这篇文章中,我们将探索 Flutter 的一些基础知识。但是&#xff0…

【IC设计】Synopsys数字IC设计流程

文章目录 数字IC设计流程前端设计RTL编写和HDL仿真逻辑综合门级仿真形式化验证 后端设计数据准备set mw_phys_refs *set link_library *数据准备 (SDC)数据准备 (RC Techfile) set_tlu_plus_files floor planFloorplan阶段的主要内容:常用命令: placemen…

BiFPN,one-stage,two-stage

目录 BiFPN 语义信息 单stage物体检测算法 双stage skip connection,low-level feature,high level-feature,top-dowm path backbone通常分为几个stage BiFPN BiFPN是双向特征金字塔网络的缩写,是计算机视觉中用于目标检测和分割任务的一种神经网络架构。 …

碳排放预测模型 | Python实现基于传统Holt winter时间序列的碳排放预测模型(预测未来发展趋势)

文章目录 效果一览文章概述研究内容环境准备源码设计学习总结参考资料效果一览 文章概述 碳排放预测模型 | Python实现基于传统Holt winter时间序列的碳排放预测模型(预测未来发展趋势) 研究内容 这是数据集的链接:https://github.com/owid/co2-data/blob/master/owid-co2-d…

一个好的接口自动化测试脚本是怎么写出来的?

目录 前言 1、某个用例的测试目的是什么 2、接口信息的来源 3、一些基本原则 4、断言那些事 5、脚本的后期维护 6、关于测试数据的准备 总结: 前言 谈到接口测试,大家关注更多的是哪个工具更优秀,更好用。但是很少人关注到接口测试用…

Allegor17.2版本WIN11系统CIS配置提示错误解决方案

错误提示: ERROR(ORCIS-6250): Unable to continue. Database access failed. Contact the database administrator to correct the following error(s), and then retry. ODBC Error Code: -1 Description: 在指定的 DSN 中,驱动程序和应用程序之间的体…

架构-系统架构设计模块-2

软件架构风格 #mermaid-svg-daJWV8kQ9nIgH5tZ {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-daJWV8kQ9nIgH5tZ .error-icon{fill:#552222;}#mermaid-svg-daJWV8kQ9nIgH5tZ .error-text{fill:#552222;stroke:#55222…

2023年大学计算机专业实习心得14篇

2023年大学计算机专业实习心得精选篇1 20__年已然向我们挥手告别而去了。在20__年初之际,让我们对过去一年的工作做个总结。忙碌的一年里,在领导及各位同事的帮助下,我顺利的完成了20__年的工作。为了今后更好的工作,总结经验&…

【大数据学习篇13】在linux上安装jupyter

下面介绍在liunx怎么安装jupyter,一步到位介绍。 目录 下面介绍在liunx怎么安装jupyter,一步到位介绍。 1、安装Anaconda3​编辑 1.1 自己选择一个位置下载 1.3 配置anaconda的路径 1.3 查看anaconda的版本 2、配置Jupyter Notebook 3、运行Jupy…

Linux UPS配置详解 (山特SANTAK TGBOX-850 )

起因 配置了一台All in One主机,系统是装的PVE,一个linux的虚拟机。里面装了openwrt软路由,还有OMV这个NAS系统。为了防止数据丢失,最好是配置一台UPS来保护数据,毕竟数据无价。于是买了一台山特的TGBOX-850。由于山特…

【群智能算法改进】基于动态折射反向学习和自适应权重的改进麻雀搜索算法[4]【Matlab代码#39】

文章目录 【获取资源请见文章第5节:资源获取】1. SSA算法2. 改进SSA算法2.1 动态折射反向学习策略2.2 自适应权重策略 3. 部分代码展示4. 仿真结果展示5. 资源获取说明 【获取资源请见文章第5节:资源获取】 1. SSA算法 2. 改进SSA算法 2.1 动态折射反向…

局域网内不同网段的设备互相连接设置

目录 介绍1、打开网络连接,找到本地网络->属性->ipv4->属性->高级:2、在高级设置页面,我们添加一个IP,这个IP和板子在一个网段,我这里设置的是192.168.253.101:3、设置完成即可生效&#xff0c…

从0打1 用node express vite搭建一个博客系统系列(完结)

项目使用了Node后端、Express和Vite搭建的全栈博客系统系列,将Vue 2项目重构为Vue 3版本。该系统包含了以下主要模块和功能: 登录和注册功能:用户可以通过注册账号和登录来访问博客系统。 分类列表:展示不同分类的文章&#xff…

编译LeGo-LOAM,并且采用速腾聚创激光雷达与之相连

目录 一、LeGo-LOAM部署二、速腾聚创激光雷达调试三、将速腾聚创激光雷达连到LeGo-LOAM四、解决LeGo-LOAM不保存pcd地图的问题 一、LeGo-LOAM部署 参考链接:实车部署采用速腾聚创RS16激光雷达的LeGo-LOAM LeGO-LOAM初探:原理,安装和测试 1.g…

C语言基础--整型int,长整型long,浮点型double float

本文讲解常见的C语言变量,并举出一些实例 从微软的C语言文档把所有的C语言可定义(就是能用的)截图展示: 还有好几页,不放了,看着都头疼 但是,往往用的最多的,也就是下面的(本篇只讲整数和浮点数) int 整数 整数的定义不用说了吧QAQ int a = 10; //定义一个…

深度学习应用篇-计算机视觉-视频分类[8]:时间偏移模块(TSM)、TimeSformer无卷积视频分类方法、注意力机制

【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化算法、卷积模型、序列模型、预训练模型、对抗神经网络等 专栏详细介绍:【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化…

本周大新闻|Vision Pro头显重磅发布;苹果收购AR厂商Mira

本周XR大新闻,上周Quest 3发布之后,本周苹果MR头显Vision Pro正式发布,也是本周AR/VR新闻的重头戏。 ​AR方面,苹果发布VST头显Vision Pro(虽然本质是台VR,但以AR场景为核心)以及visionOS&…