MYSQL的索引(主键索引、唯一索引、普通索引、全文索引)

mysql索引(七)唯一索引 Mysql索引大概有五种类型: 普通索引(INDEX):最基本的索引,没有任何限制 唯一索引(UNIQUE):与"普通索引"类似,不同的就是:索引列的值必须唯一,但允许有空值。 主键索引(PRIMARY):它 是一种特殊的唯一索引,不允许有空值。 全文索引(FULLTEXT ):可用于 MyISAM 表,mysql5.6之后也可用于innodb表, 用于在一篇文章中,检索文本信息的, 针对较大的数据,生成全文索引很耗时和空间。 联合(组合)索引:为了更多的提高mysql效率可建立组合索引,遵循”最左前缀“原 阅读详情
AI摘要

本文详细介绍了MYSQL中的四种索引类型:主键索引、唯一索引、普通索引及全文索引,并提供了每种索引的具体创建方法。

一、MYSQL索引的分类

索引用于快速查找具有特定列值的行。如果没有索引,MySQL必须从第一行开始,然后读取整个表以查找相关行。表越大,成本越高。如果表中有相关​​列的索引,MySQL可以快速确定要在数据文件中间寻找的位置,而无需查看所有数据。这比按顺序读取每一行要快得多。

MYSQL的索引主要分为主键索引(PRIMARY KEY),唯一索引(UNIQUE) ,普通索引(INDEX)和全文索引(FULLTEXT) 。

主键索引:它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候指定了主键,就会创建主键索引, CREATE INDEX不能用来创建主键索引,使用 ALTER TABLE来代替。

唯一索引:与普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须一。

普通索引:这是最基本的索引,它没有任何限制。

全文索引:FULLTEXT索引用于全文搜索。只有InnoDB和 MyISAM存储引擎支持 FULLTEXT索引和仅适用于 CHAR, VARCHAR和 TEXT列。

二、索引的创建方式

(1)主键索引的创建方式:

方式1:ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )

比如:ALTER TABLE users ADD PRIMARY KEY ( id )

方式2:创建表的时候指定主键

(2)唯一索引的创建方式

方式1:ALTER TABLE `table_name` ADD UNIQUE  [indexName] (`column`)

比如:ALTER TABLE users ADD UNIQUE ( id )

方式2:CREATE UNIQUE INDEX index_name ON table_name (column_name)

比如:CREATE UNIQUE INDEX index_users ON users(id)

(3)普通索引的创建方式

方式1:ALTER TABLE `table_name` ADD INDEX index_name ( `column` )

比如:ALTER TABLE users ADD INDEX index_users( id )

方式2:CREATE INDEX index_name ON table_name (column_name)

比如:CREATE INDEX index_users ON users (column_name)

(4)全文索引的创建方式

方式1:ALTER TABLE `table_name` ADD FULLTEXT ( `column` )

比如:ALTER TABLE users ADD FULLTEXT ( id )

 

普通索引和唯一索引的区别以及何时需要建立索引 大家好,我是IT修真院上海分院第6期学员,一枚正直善良的JAVA程序员。 今天给大家分享一下,修真院官网JAVA任务1中普通索引和唯一索引的区别以及何时建立索引的探讨。 一、背景介绍 索引作用:简而言之,加快搜索速度 常见索引分类:普通索引,唯一索引,主键索引,全文索引,组合索引 今天主要探讨普通索引,唯一索引和主键索引,不涉及全文索引和组合索引 二、知识剖析 普通索引:最基本的... 阅读详情

相关推荐

MySQL---单列索引(包括普通索引、唯一索引、主键索引)、组合索引、全文索引。

MySQL---约束(主键约束,自增长约束,非空约束,唯一约束,默认约束、零填充约束)_python(爱看动漫的程序猿)的博客-优快云博客。组合索引也叫复合索引,指的是在建立索引的时候使用多个字段,例如同时使用身份证和手机号建。按照功能划分,索引分为单列索引(包括普通索引、唯一索引、主键索引)、组合索引、全文索。与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。中基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和空值,按照实现的方式类分,主要有Hash索引和B+Tree索引。

weixin_43961909的博客 2670

MySQL之索引

数据库中的索引与书的目录相似,表中的数据类似于书的内容。书的目录有助于读者快速地找到书中相关的内容,数据库的索引有助于加快数据检索速度。目前大部分MySQL索引都是以B-树(BTREE)方式存储的。BTREE方式构建了包含多个节点的一棵树。顶部的节点构成了索引的开始点,叫做根。每个节点中含有索引列的几个值,节点中的每个值又都指向另一个节点或者指向表中的一行。这样,表中的每一行都会在索引中有一个对应值。查询的时候就可以根据索引值直接找到所在的行。......

遇安的博客 4168

【Mysql】第十章 索引-重点(主键索引+唯一索引+普通索引+全文索引)

数据库服务端本质是一个进程,所以是在内存中,而数据库文件本质是保存在内存当中,对数据操作都是在内存中进行的。MySQL与磁盘交互的基本单位是16KB,叫做page,文件数据是以page为单位保存在磁盘当中,所以进行数据交互需要IO,为提升效率要减少IO的使用。IO交互使用的是page,不用page查5条数据要调用5次IO,用page只要调用一次IO,之后要查的数据直接在内存中进行,采用的是B+树。单个page,内部数据会按照主键进行排序。单个Page内创建页内目录。Page之上创建页目录。

YQ20210216的博客 1304

MySQL数据库唯一索引

MySQL数据库唯一索引

m0_60259116的博客 1万+

MySQL进阶:深入索引 - 唯一索引

唯一索引是一种特殊的索引,它确保表中的某一列或列组合的值是唯一的,不允许出现重复值。与主键索引不同,唯一索引可以有多个,并且允许有空值(NULL)。通过合理设置和管理MySQL的唯一索引,可以有效提升系统的性能和稳定性,防止数据重复,确保数据的唯一性。希望本文能帮助你更好地理解和利用唯一索引,让你在数据库管理的道路上更进一步。🌟如果你有任何疑问或想要分享的经验,欢迎留言交流!💬通过上述内容,我们不仅介绍了MySQL唯一索引的基本概念和创建方法,还详细说明了具体的应用场景和优化技巧。

墨夶的博客 1697

Jetson Nano(1)——笔记本电脑控制

笔记本电脑控制Jetson Nano没有显示屏如何控制Jetson Nano一、使用ssh客户端连接到Jetson Nano的命令端1.将电脑的网线口和jetson nano的网线口通过网线连接2.在控制面版中打开“更改配适器设置”3.查找jetson nano的ip地址4.利用putty链接二、远程桌面配置 没有显示屏如何控制Jetson Nano Jetson Nano相当于一个微型电脑,能快...

weixin_43619070的博客 1万+

MySQL的索引(普通索引、唯一索引,主键索引、组合索引、全文索引、空间索引)相关操作

目录 索引介绍 Hash索引和B+tree索引的区别 应用场景 索引分类 普通索引 创建单列索引——普通索引(3种语法) 查看数据库中的索引 查看数据表中的索引 删除索引 唯一索引 主键索引 组合索引 创建和删除组合索引 全文索引 全文索引的案例 空间索引 索引的优点 索引的缺点 创建索引的原则 Hash算法 二叉树 平衡二叉树 BTREE树 每文一语 索引介绍 索引是通过某种算法,构建出一个数据模型,用于快速找出在某个列中有一特定值的行,不使用索引,..

迷茫与徘徊只会让你陷入绝境,欢迎私信博主,带你开始提升变现价值! 5980

ENSP之配置静态路由

ENSP之配置静态路由 两台路由器两台PC 拓扑图如下: 配置AR1线路上的两条IP地址 配置AR2线路上的两条IP地址 3.AR2上 配置静态IP 路由 AR1上 配置静态IP 路由 设置两台PC 的IP地址 网关 PC1 PC2 全部配置好了之后 现在测试PC1是否ping 得通PC2 在命令行输入 成功的话如下图 ...

浪友与泪的博客 3545

Mysql主键、普通索引、唯一索引和全文索引的区别

在MYSQL中,索引功能有如下几个主要类型:PRIMARY(主键), INDEX(普通索引),UNIQUE(唯一索引),FULLTEXT(全文索引)。 PRIMARY 主键。 就是 唯一 且 不能为空。 INDEX 索引,普通的 UNIQUE 唯一索引,不允许有重复。 FULLTEXT 是全文索引,用于在一篇文章中,检索文本信息的。 不过,主键是一种约束,主键创建后一定包含一个唯一性索引,主键列在创建时,已经默认为非空值 ...

ztnhnr的专栏 1161

Ansys-结构动力学分析-圆柱斜齿轮模态分析学习心得

模态分析的步骤基本一直,不同点在于选择什么单元类型,模型,节点约束等 圆柱斜齿轮模态分析的难点在于圆柱斜齿轮的模型建立,和所要约束的节点的选择。 用命令流方法建立齿轮模型效率较高,当然,在ansys里建立复杂的模型实在不敢恭维,对于自下而上建模,需要知道每个关键点的坐标位置。下图是创建圆柱斜齿轮模型的命令流方式。 模型不同使用的数据也就不同了。 对于施加约束的问题这就必须要熟悉select e...

weixin_45385183的博客 1831

zabbix添加IBM服务器SNMPV3监控

本地采用欧冠的是zabbix5.0,服务器型号是SR860,使用snmpv3因为只支持这个,醉了。说明:本地采用欧冠的是zabbix5.0,服务器型号是SR860。

萌新包大人的博客 1985

Mysql主键索引、唯一索引、普通索引、全文索引、组合索引的区别

Mysql主键索引、唯一索引、普通索引、全文索引、组合索引的区别

乐杨俊浅谈LAMP 1万+

硬件测试实战笔记:SI/PI 到底测什么,怎么测?一文讲清

点选错了,数据越精确越误导。

qq_52293640的博客 261

Mysql学习-索引总结(B-tree和hash、主键索引、唯一索引、普通索引、全文索引和组合索引)

对最近学习的mysql中的索引经行总结。其主要内容包括唯一索引、B-tree、哈希索引(自定义哈希索引和Innodb自适应哈希索引)和全文索引(自然语言搜索和布尔搜索)。参考书籍和文章是《Mysql技术内幕InnoDB存储引擎》、《高性能Mysql》和《Mysql索引原理集慢查询优化》。 索引 B-tree B-tree索引能够加快访问数据的速度,因为存储引擎不再需要经行全表扫描来获取需要的数据,取而

V_victor的博客 2万+

PyCharm高效配置Gitee全攻略

本文介绍了如何在PyCharm和VS Code中配置Gitee插件并管理代码。主要内容包括:1) PyCharm连接Gitee的配置步骤;2) 代码拉取与冲突解决方法;3) VS Code界面功能区域详解;4) 完整的代码提交流程(暂存→提交→推送)。特别说明了VS Code中Git面板的使用方法,以及推送代码到Gitee远程仓库的具体操作步骤。文章还提供了解决代码冲突的建议和注意事项,帮助开发者更好地进行版本控制。

ZhangJiqun&191cm&85kg 302

从 Open SQL JOIN 走向 ABAP CDS Association:把查询写成可复用的数据模型

摘要: 本文通过飞行模型示例,对比了ABAP中三种表关联实现方式:Open SQL JOIN、CDS显式JOIN和CDS Association。重点解析了Association的本质是将表关系声明为数据模型语言,使用时通过路径表达式按需展开为JOIN。文章指出路径表达式在不同位置会默认展开为不同JOIN类型(如SELECT列表默认为LEFT OUTER),并演示了如何用[inner]强制指定INNER JOIN。最后结合S/4HANA实际案例,说明Association通过中心化关系定义和路径复用,能有效

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 384

【mysql】主键、普通索引、唯一索引和全文索引的比较

MYSQL索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录 开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无 需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。 mysql在使用like查询中,能不能用到索引?在什么地方使用索引呢? 在使用like的时候,如果使用‘

好想去看海 342

【大语言模型 85】IA3与其他PEFT方法对比

在大语言模型时代,参数高效微调(PEFT)技术成为了降低微调成本的关键。本文深入解析IA3(Infused Adapter by Inhibiting and Amplifying Inner Activations)方法,并与LoRA、AdaLoRA、Prefix Tuning等主流PEFT技术进行全面对比,通过理论分析、代码实现和实验验证,帮助读者理解不同PEFT方法的优劣势和适用场景,为实际项目中的技术选型提供科学依据。

熵数实验室 754

MySQL 索引 -- 磁盘,主键索引,唯一索引,普通索引,全文索引

MySQL数据库索引机制与优化策略 摘要: 本文系统介绍了MySQL数据库的存储结构与索引原理。首先阐述了磁盘IO的基本概念,指出MySQL以16KB的page作为基本交互单位,通过Buffer Pool缓存机制提升效率。重点分析了B+树索引结构,包括其非叶子节点存储目录、叶子节点相连的特性,以及聚簇索引与非聚簇索引的差异(数据存储方式、查询效率等)。文章详细说明了主键、唯一、普通、全文四种索引的操作方法,并提出了索引优化原则:选择合适字段、遵循最左前缀、避免冗余、使用覆盖索引。最后对比了全文索引与LIKE

CSQCSQCC的博客 1119

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

MYSQL主键索引、普通索引、唯一索引、全文索引 的增加/修改/更新/删除 以及其实例

主键索引 唯一 且 不能为空 ,可多列。 主键语法:在原表已有主键时,如果在进行ALTER ADD 增加主键会报错, Multiple primary key defined,需要删除原先的主键后,再进行创建。 创建表的时候指定主键: CREATE TABLE tablename ( [...], PRIMARY KEY ('数据库字段名称','数据库字段名称')); 创建主键: ALTER TABLE tablename ADD PRIMARY KEY (数据库字段名称); 删除主键: ALTER T

DayDayUp 1755

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

mysql主键索引、唯一索引、普通索引、全文索引、组合索引的区别

普通索引:最基本的索引,没有任何限制 唯一索引:与"普通索引"类似,不同的就是:索引列的值必须唯一,但允许有空值。 主键索引:它 是一种特殊的唯一索引,不允许有空值。  全文索引:仅可用于 MyISAM 表,针对较大的数据,生成全文索引很耗时好空间。 组合索引:为了更多的提高mysql效率可建立组合索引,遵循”最左前缀“原则。     Mysql常见索引有:主键索引、唯一索引、普通索引、全文...

青春不停 4153

mysql 主键 索引 唯一_MYSQL的索引(主键索引、唯一索引、普通索引、全文索引)

一、MYSQL索引的分类索引用于快速查找具有特定列值的行。如果没有索引,MySQL必须从第一行开始,然后读取整个表以查找相关行。表越大,成本越高。如果表中有相关​​列的索引,MySQL可以快速确定要在数据文件中间寻找的位置,而无需查看所有数据。这比按顺序读取每一行要快得多。MYSQL的索引主要分为主键索引(PRIMARY KEY),唯一索引(UNIQUE),普通索引(INDEX)和全文索引(FU...

weixin_39838758的博客 339

Mysql索引概念,:主键索引、唯一索引、普通索引、全文索引、组合索引

转自:https://www.cnblogs.com/chenhaoyu/p/8796146.html Mysql索引概念: 说说Mysql索引,看到一个很少比如:索引就好比一本书的目录,它会让你更快的找到内容,显然目录(索引)并不是越多越好,假如这本书1000页,有500也是目录,它当然效率低,目录是要占纸张的,而索引是要占磁盘空间的。 Mysql索引主要有两种结构:B+树和hash. ...

boss_way的博客 327
上一篇: Hive实现将分组取top2的数据进行相减(SQL面试题)
下一篇: 数据结构与算法(Java版)
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值