mysql中的索引

news2024/10/6 16:19:34

1、索引是什么?

在mysql当中, 内部系统它有两种查询方式, 一种是(全盘扫描查询),另外一种是通过(索引检索查询),通过添加了索引的字段进行查询, 可以大大提高查询效率

mysql中的索引相当于一本书中的目录, 通过索引查询数据类似于与通过书的目录查找内容,查询速度可以大大增加。

MySQL中的索引是添加在字段当中的, 一个字段只能添加一个索引,或者多个字段添加同一个索引。

索引是以对象的形式体现在mysql中的, 是以树的结构也就(二叉树),它遵循这左小右大的规则进行排序

2. 索引的检索原理:

假如现在有这样一张表,我想查询id = 101这一行数据, 在没有添加索引的情况下, 系统是一行一行往下对比查询的,需要对比5次才能得出结果,如果数据量大,查询速度会非常的慢

 

假如id字段添加了索引,如下图,它的查询逻辑是这样的:

拿101和100对比一次, 比100大, 走右边, 再拿101和102对比一次, 比102小,走左边,然后再取101的内存地址,再将sql语句转换成直接通过内存地址查询,这样查询速度会快很多。

可以查看出使用了索引只需2步就可以可以查出数据,在数据量大的情况下,速度会质数性提高。

3. 怎么创建索引?删除索引?查询索引?

在mysql中,主键和unique(约束)字段上系统会自动添加索引

索引不是随意添加的, 如果索引过多,有可能会拖垮系统性能。 那什么情况下适合添加索引?

条件1:查询数据量庞大

条件2:经常放在where后面的字段

条件3:该字段很少被(增删改)操作

创建索引:在mysql中, 主键字段和

# CREATE INDEX 索引别名 on 表名(字段名);
CREATE INDEX id_index on tableName(id);

删除索引

# DROP INDEX 索引别名 on 表名;
DROP INDEX id_index on tableName;

查看索引

# explain 查询语句
EXPLAIN SELECT * from testdb.tableName WHERE NAME = '杰克'

未添加索引的情况下

添加了索引的情况下

索引也会有失效的时候?在什么情况下会失效?

答:在使用了模糊查询,并且%放在前面的时候, 如select * from table where name = "%三";

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

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

相关文章

java 物流配货管理系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

一、源码特点 java 物流配货管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0&…

centos7系统:HAProxy软件部署

目录 目 的: 硬件需求: ​编辑 实验环境配置: haproxy的服务器配置: nfsrps服务器部署: nginx服务器1部署: nginx服务器2部署: 目 的: 两台nginx服务器做web服务,haproxy服务器做调度负载均…

(6.9-6.15)【大数据新闻速递】

【上海数交所将携手清华大学等举办首届数据资产入表研修班】 上海数据交易所获悉,数交所将联合清华大学五道口金融学院、上海市数商协会于6月28日至29日举办首届数据资产入表研修班。财政部印发《企业数据资源相关会计处理暂行规定(征求意见稿&#xff…

前沿应用丨大规模无人机集群与“虚实结合”半实物仿真系统

一、应用背景 无人机集群在军事、安全、救援、航空监测、物流配送等领域具有广泛的应用前景。它可以提高任务执行的效率、灵活性和安全性,同时降低人力资源的需求和风险,无人机集群研究涉及多个学科领域,如机器人学、控制理论、通信技术和人工…

【算法与数据结构】383、LeetCode赎金信

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:这道题的思路和242、有效的字母异位词的思路一样   程序如下: class Solution { public…

好好存钱,是成年人最顶级的自律

作者| Mr.K 编辑| Emma 来源| 技术领导力(ID:jishulingdaoli) 王尔德说:“在我年轻的时候,曾以为金钱是世界上最重要的东西。现在我老了,才知道的确如此。” 路遥说:“钱是好东西,它能使人不再心慌&#…

指纹识别工具WhatWeb使用教程,图文教程(超详细)

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 WhatWeb 一、扫描网站指纹二、扫描强度三、扫描内网…

ZeroQuant-V2 LLM权重与激活量化

ref ZeroQuant-V2: Exploring Post-training Quantization in LLMs from Comprehensive Study to Low Rank Compensation 4bit量化为什么重要 The case for 4-bit precision: k-bit Inference Scaling Laws 这篇文章研究表明4bit通常是最优的量化方法:同样的量化…

快速选择合适的GNSS模拟器,看这几个重点

为了正确测试GNSS接收器或其他任何依赖GNSS信号的系统或设备,工程师需要模拟与真实卫星广播相同的RF信号,而使用GNSS模拟器是实现这一工作的最佳选择。 假设正在开发一种需要集成GNSS接收器的新产品,想要验证接收器设备在不同条件下是否运行…

企业为什么要关注库存?因为那都是“钱”!

库存是企业管理的核心,公司必须提供足够的商品来满足客户需求,但又不能冒着浪费金钱和资源的风险,一味的增加库存。 不同的企业在库存管理这个问题上就“八仙过海各显神通”了,常见的处理方法有: 1. 经验法&#xff1a…

求两数之和

必应壁纸供图 题目描述 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不…

基于SpringBoot+Vue的学生毕业离校系统设计与实现

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架下…

Sui x KuCoin Labs夏季黑客松首批入围项目公布

经过一段时间的共同努力,我们已经完成了对Sui x KuCoin Labs夏季黑客松第一批入围项目的审核,并宣布以下团队已入围最终demo day: 首批入围名单 Desig Protocol Desig协议提供了一种与区块链无关(无智能合约)的多重…

聚观早报|奔驰接入ChatGPT聊天机器人;极兔速递提交上市申请书

今日要闻:奔驰接入ChatGPT聊天机器人;极兔速递向港交所提交上市申请书;微软股价创历史新高;美电动卡车Nikola宣布裁员23%;马斯克:人工智能具有颠覆性 奔驰接入ChatGPT聊天机器人 梅赛德斯 - 奔驰表示&…

Doris 扩缩容和副本均衡

扩缩容和副本均衡 ​ 对于集群节点发生变化(扩缩容)时,集群内部的tablet是如何以一定的策略完成数据的重分布,从而达到每个be能够分布尽可能数量相同的tablet。同时,集群内部某些tablet由于某些原因发生损坏时&#x…

快手web验证日志分析

文章目录 log参数session_ididentityproject_id 流程1-4请求参数sign日志formdata828586 log参数 为了确定日志中是否有参数和IP绑定,检查了session_id参数。 session_id session_id i (wn[e[t 0]] wn[e[t 1]] wn[e[t 2]] wn[e[t 3]] "-" wn…

rk3568 长按电源键关机修改

rk3568 电源键强制关机触发时间修改 Rockchip系列主控芯片配套PMIC支持长按电源键强制关闭PMU,也就是标题中的强制关机。rk3568使用I2C通信与PMIC(rk809/rk817),power(电源)键则是与PMIC相连,PMIC监测按键状态控制RK3568的上下电,…

新增每日个股涨停原因及概念题材统计!股票量化分析工具QTYX-V2.6.6

功能概述 目前A股市场主旋律仍然是以行业及题材板块的热点轮动为主,因此从某种意义上来说,板块的强弱决定了选出个股的强弱。 我们的股票量化分析工具QTYX目前已经支持了统计行业板块内涨停板数量功能。‍ 为了进一步分析出市场上启动的热点概念题材。我…

vscode远程连接linux服务器

Linux服务器(或虚拟机)条件: 开启ssh服务 客户端: vscode 1.服务端 服务端需要开启ssh服务vscode才能连接,首先检验linux是否开启了ssh服务 systemctl status sshd servie sshd status 运行命令,如果可…

视频基础知识——编码时,帧率、码率、分辨率之间的联系

本文主要补充基础概念,在设置编码器的时候,参数设置不对,录制的屏幕就会出现花屏。所以梳理了基础知识,就知道哪里设置不对了。 如下是ffmpeg自带的sample,encode_video的例子,选取H264的编码器&#xff0c…