mysql的索引类型与数据存储

mysql索引与类型
什么是索引?

索引(Index)是帮助MySQL高效获取数据的数据结构。我们可以简单理解为:快速查找排好序的一种数据结构。Mysql索引主要有两种结构:B+Tree索引和Hash索引。我们平常所说的索引,如果没有特别指明,一般都是B树结构组织的索引(B+Tree索引)。

索引类型:
索引名称描述
主键索引它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候指定了主键,就会创建主键索引
唯一索引与普通索引类似,不同的是:索引列的值必须唯一,但是允许为空值。如果是组合索引,则列值的组合必须唯一
单索引单个字段建立索引
联合索引多个字段建立的索引,与单索引可统称为普通索引
全文索引FULLTEXT索引用于全文搜索。只有InnoDB和MyISAM存储引擎支持FULLTEXT索引和仅适用于CHAR,VARCHAR和TEXT列。
覆盖索引只需要在一棵索引树上就能获取SQL所需的所有列数据,无需回表,速度更快。

innoDB不支持hash索引。

主键索引:

创建主键索引语法:

ALTER TABLE"表名" ADD PRIMARY KEY (字段);

例子:

alter table user add primary key (id);

唯一索引:

创建唯一索引语法:

CREATE UNIQUE INDEX 索引名 ON 表名字段名

例子:

create unique index idx_email on user(email);

普通索引:

创建普通索引语法:

ALTER TABLE 表名 ADD INDEX 索引名(字段

例子:

alter table user add index idx_name(name); --单索引

alter table user ADD index idx_age_sex(age,sex); --联合索引

覆盖索引与全文索引

什么是覆盖索引:

mysql官网表达意思:

只需要在一棵索引树上就能获取SQL所需的所有列数据,无需回表,速度更快。

概念:

索引覆盖:是通过普通索引查询的时候,不需要回表查询,直接可以获取到对应的数据

 

全文搜索索引:

全文索引(也称全文检索)是目前搜索引擎使用的一种关键技术。它能够利用分词技术等多种算法智能分析出文本文字中关键字词的频繁以及重要性,然后按照一定的算法规则智能地筛选出我们想要的搜索结果。

根据名称创建全文索引:

alter table `user` add FULLTEXT index namefulltext(`name`) WITH parser ngram;
select * from `user` where match(`name`) against('化');

全文搜索索引:

idtitlecontent
1php书籍变量基础语法字符串数组面向对象核心扩展等
2mysql书籍索引事务单表多表查询集群主从分库分表
3redis书籍字符串类型队列有序集合zset类型还有stream类型
4laravel书籍控制器模型数据库数组视图事件队列
5nginx书籍高可用负载均衡反向代理配置解析
6swoole书籍swoole的http服务,tcp定时器
7thinkphp书籍控制器模型数据库数组视图事件队列

全文搜索尽量使用搜索引擎

搜索引擎:es => 大型网站

轻量级搜索引擎:Sphinx =>开销比较小

mysql索引与数据存储的区别:

myisam存储引擎索引:

MYD

MYI

一个存储数据 一个存储索引:分开进行存储。

innodb存储引擎索引:

.ibd => 索引与数据存储 在一个文件中

ascii a 97 b 98

A 65 B 66

总结:

myisam:myisam存储 引擎的普通索引与主键索引在索引指向方面都是指定位实际的数据在磁盘中的位置。

innodb:innodb存储引擎的普通索引与主键索引在索引指定当面是普通索引指定主键索引的数据以及索引相关字段数据在磁盘中的位置,主键索引指向的是数据在磁盘中实际的位置。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

web渗透-SSH私钥泄露

发现主机 netdiscover -r 192.168.164.0 扫描端口 看到开放80和31337端口都为http服务 浏览器访问测试 查看80端口和31337端口网页和源代码并无发现有用信息 目录扫描 扫描出80端口并无有用信息 扫描31337端口 发现敏感文件robots.txt和目录.ssh 访问敏感文件和目录 /.ss…

好物分享:FPGA实现SDI视频编解码的方案设计汇总

目录 1、前言2、专用芯片方案2.1、GS2971FPGA的图像采集 设计方案2.2、GS2971FPGA的图像采集图像缩放 设计方案2.3、GS2971FPGA的图像采集纯verilog图像缩放纯verilog视频拼接 设计方案2.4、GS2971FPGA的图像采集HLS图像缩放Video Mixer视频拼接 设计方案2.5、GS2971FPGA的图像…

Java单链表和LinkedList的实现

一、单链表的实现 无头单向非循环链表 定义异常用于判断所给位置是否合法 public class IndexNotLegal extends RuntimeException{public IndexNotLegal(){}public IndexNotLegal(String smg){super(smg);} } class ListNode中包含当前节点的值和下一个节点指向 实现链表的…

阿里云2024年优惠券领取及使用常见问题

阿里云是阿里巴巴旗下云计算品牌,服务涵盖云服务器、云数据库、云存储、域名注册等全方位云服务和各行业解决方案。为了吸引用户上云,阿里云经常推出各种优惠活动,其中就包括阿里云优惠券。本文将对阿里云优惠券领取及使用常见问题进行解答&a…

鸿蒙原生应用已超4000个!

鸿蒙原生应用已超4000个! 来自 HarmonyOS 微博近期消息,#鸿蒙千帆起# 重大里程碑!目前已有超4000个应用加入鸿蒙生态。从今年1月18日华为宣布首批200多家应用厂商正在加速开发鸿蒙原生应用,到3月底超4000个应用,短短…

DSOX3034T是德科技DSOX3034T示波器

181/2461/8938产品概述: 特点: 带宽:350 MHz频道:4存储深度:4 Mpts采样速率:5 GSa/s更新速率:每秒1000000个波形波形数学和FFT自动探测接口用于连接、存储设备和打印的USB主机和设备端口 触摸: 8.5英寸电容式触摸屏专为触摸界面设计 发现: 业界最快的无损波形更…

工业视觉检测

目录 我对工业视觉检测的了解 一、关键组成部分 二、应用场景 三、技术挑战 我对工业视觉检测的了解 工业视觉检测是利用机器视觉技术对产品质量进行自动化检查的过程,它在制造业中扮演着至关重要的角色,用于确保产品质量、提高生产效率、减少人工成…

小核引导RTOS---RISC-V C906

文章目录 参考日志编译框架目标fip 启动流程fip文件组成BL2程序 总结思考备注 参考 参考1. How does FSBL load the FreeRTOS on the small core and execute it?参考2. Duo now supports big and little cores?Come and play!Milk-V Duo, start!参考3. 使用uboo…

ES学习笔记01

1.ES安装 下载地址: es官网下载 这里使用的是7.8.0的版本信息 下载完成后解压即可完成安装 2.启动运行 点击bin目录下的elasticsearch.bat文件即可启动 在浏览器中输入localhost:9200显示如下: 在路径中加入对应访问后缀即可访问对应信息 如&#…

【学习】移动端App性能测试流程有哪些

移动端App性能测试是保证App性能表现的重要环节之一。随着移动设备的普及和移动互联网的发展,移动端App的性能测试变得越来越重要,通过科学合理的性能测试可以发现并解决潜在的性能问题优化App运行效果提高用户体验。性能测试旨在评估App在各种场景下的性…

板材的加强筋优化-abaqus操作过程

前言 本示例详细讲解使用abaqus实现板材的加强筋优化的操作过程。 本页讨论 前言一、创建模型1.创建几何部件2.定义材料属性3.创建装配实体4.创建分析步5.创建边界条件及载荷6.划分网格7.创建分析作业并提交分析8.可视化后处理 二、设置优化1.创建优化任务2.创建设计响应3.创…

嵌入式软件工程师如何提高技术深度?

构建坚实且深厚的技术根基,其重要程度可谓举足轻重。唯有在对基础知识进行深入探究和理解的前提之下,方能够在理论的指引之下,持续地深入以及拓展技术领域。倘若缺乏稳固坚实的基础,那么深入开展研究便无从谈起。 在强调技术深度…

说说 HTTP1.0/1.1/2.0 的区别?

文章目录 一、HTTP1.0二、HTTP1.1三、HTTP2.0多路复用二进制分帧首部压缩 四、总结参考文献 一、HTTP1.0 HTTP协议的第二个版本,第一个在通讯中指定版本号的HTTP协议版本 HTTP 1.0 浏览器与服务器只保持短暂的连接,每次请求都需要与服务器建立一个TCP连…

bin、hex、exe、elf文件类型到底有何区别?如何解读hex文件和elf文件?...相关内容都在这里!

《嵌入式工程师自我修养/C语言》系列——bin、hex、exe、elf文件类型到底有何区别?readelf用法全面解读! 一、常见文件类型之:bin、hex、elf、exe1.1 bin、hex、exe、elf文件类型到底有何区别?1.2 如何读懂一份hex文件&#xff1f…

数字人解决方案——Wav2lip本地部署

1、安装anaconda anaconda自行下载安装 2、下载wav2lip 在github中搜索wav2lip ​ git clone https://github.com/Rudrabha/Wav2Lip.git ​ 源码到本地 准备脸部检测预训练模型 下载地址:https://www.adrianbulat.com/downloads/python-fan/s3fd-619a316812…

安卓远离手机app

软件介绍 远离手机是专门为防止年轻人上瘾而打造的生活管理类的软件,适度用手机,保护眼睛,节约时间。 下载 安卓远离手机app

C++ 一种简单的软件验证码 程序授权使用 收费付费使用 无需注册 用机器码得到一个加密值 再对比加密值是否一致 只需加密

简单软件授权方案 1、获取机器码,发给软件开发者 2、开发者用机器码加密得到一个密文 发给使用者 3、使用者 用这个密文 与本地计算密文比较密文是否一致,一致就把密文写入到注册表,下次登录从注册表读密文对比。 (最重要的是密…

【C++】STL学习之string的使用

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 文章目录 前言一、basic_string二、编码理解三、构造函数相关3.1 无参(默认)构造函数3.2 …

力扣爆刷第114天之CodeTop100五连刷56-60

力扣爆刷第114天之CodeTop100五连刷56-60 文章目录 力扣爆刷第114天之CodeTop100五连刷56-60一、78. 子集二、105. 从前序与中序遍历序列构造二叉树三、43. 字符串相乘四、155. 最小栈五、151. 反转字符串中的单词 一、78. 子集 题目链接:https://leetcode.cn/prob…

一文了解RAID技术基本概念

RAID是数据存储技术,旨在提高磁盘的IO吞吐以及提供更为可靠的数据安全。在实际工作中经常听到RAID相关名称,那么RAID技术的基本概念是什么、不同RAID级别有什么特性,本文将简单介绍,以了解。 1、RAID技术基本概念 1.1 RAID基本概…