首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
请你说说 MySQL 索引,以及它们的好处和坏处
[问答题]
请你说说 MySQL 索引,以及它们的好处和坏处
添加笔记
求解答(0)
邀请回答
收藏(44)
分享
纠错
19个回答
添加回答
19
牛客979184373号
索引是对数据库表中的一列或多列的值,进行排序的一种结构 ,使用索引可以快速访问数据库表中的特定信息,是加快数据库查询的技术。 索引好处:可以避免全表扫描,确保索引数据的唯一性,提升数据库查询性能。 索引坏处:创建和维护索引需要消耗时间,占用物理空间,当表中数据增加、删除和修改时,索引需要动态维护,降低了数据的维护速度。
发表于 2022-06-13 20:33:48
回复(0)
1
求求了上岸吧
索引是一种可以帮助Mysql从磁盘高效检索数据的数据结构,在InnoDB引擎里采用的是B+树的结构实现索引;优点:1、提升数据查询的性能;2、查询效率高;3、可以保证数据表中每一行数据的唯一性。缺点:1、数据量较大时,索引的维护带来的开销比较大;2、索引数不能创建太多;3、字段重复率较高,会带来性能降低。
编辑于 2024-03-19 20:31:03
回复(0)
1
卧槽型选手
索引是一种支持快速查找特定行的数据结构,如果没有索引,就需要遍历整个表进行查找。索引在底层实现一般是以一列或者多列的字段作为键值,构建相应地数据结构,这些数据结构一般使用B树、B+树或者hash表。 当然索引也有缺点:索引需要占用额外的空间,增删改的时候需要花时间维护索引
发表于 2022-10-29 21:35:20
回复(0)
1
JusticeIsHere
InnDB,B+ 数,提高查询效率,额外的维护成本
发表于 2022-08-17 10:36:58
回复(0)
1
抓住草
面向过程:面向具体的每一个步骤和过程,把每一步完成,向后相互调用,完成需求。 面向对象:面向对象的思想就是尽可能的模拟人类的思维方式,把程序看做由一系列对象组成,将复杂的问题简单化。 面向对象的三大特性:封装:将事物的属性和行为封装到一起,便于管理,提高代码的复用性。 继承:继承使类与类之间存在关系,提高代码的复用性以及可维护性。 多态:同一事物在不同行为下产生不同的结果。
编辑于 2022-07-14 11:57:55
回复(1)
0
雏鹰划空
好处: =》更快的查询和检索:索引是一种数据结构 =》加速表与表之间的连接:表与表之间通过索引连接。 =》保证数据的参考完整性:可以添加表字段之间的约束,从而保证数据参考完整性, 坏处: =》维护耗费时间:索引越多,在增删的时候,就会耗费越多的维护时间 =》占用较多的物理空间:索引本质上是B+树的数据结构,聚集索引和二级索引等都是需要占据一定的物理空间的。 索引不一定会起作用: =》函数或者函数表达式 =》数据库自己的查询策略,比如多个索引的时候,如果不符合最左前缀(只需访问最左侧列,就可以获得搜索结果)搜索原则,就不会走索引 =》
发表于 2023-11-07 21:54:25
回复(0)
0
零offer小菜鸡
主键索引、唯一索引、全文索引、联合索引、聚集索引、二级索引。索引可以提升查询的效率,还可以提升分组和排序的速度。但索引的创建和维护付出花费时间和空间的代价。当表中数据增删改时需要动态维护索引。
发表于 2023-09-23 09:33:36
回复(0)
0
皓月OAH
定义:帮助存储引擎快速获取数据的数据结构,可以形象地理解为数据的目录;分类: 1.按数据结构分类,主要包括B+树索引、hash索引、倒排索引,innoDB默认为B+树索引,可以实现范围查询; 2.按字段特性分类,包括主键索引、唯一索引、前缀索引、普通索引 3.按物理存储分类,包括聚簇索引、非聚簇索引;聚簇索引将数据按键值大小排序建立索引 4.按字段个数分类,包括单一索引、联合索引;好处:(1)加快where检索速度,可用于检索效率;坏处:(1)需要占用一定的存储空间(2)对于经常更新、增加、删除操作的列,建立索引需要花费一定的时间,维护成本较高
编辑于 2023-04-25 11:08:42
回复(0)
0
-Passerby゛
索引的定义就是帮助存储引擎快速获取数据的一种数据结构 按「数据结构」分类:B+tree索引、Hash索引、Full-text索引。 按「物理存储」分类:聚簇索引(主键索引)、二级索引(辅助索引)。 按「字段特性」分类:主键索引、唯一索引、普通索引、前缀索引。 按「字段个数」分类:单列索引、联合索引。
发表于 2023-03-21 22:25:56
回复(0)
0
远方风笛
索引的好处是提高数据库查找的效率,索引是一种允许查询操作快速确定那些行符合where子句中的条件,并检索到这些行的其他列值的数据结构。索引主要由普通索引、唯一索引、主键索引、外键索引、复合索引。
发表于 2023-03-13 17:48:26
回复(0)
0
5ha0
索引是对数据库表中的一列或多列的值,进行排序的一种结构 ,使用索引可以快速访问数据库表中的特定信息,是加快数据库查询的技术。 索引好处:可以避免全表扫描,确保索引数据的唯一性,提升数据库查询性能。 索引坏处:创建和维护索引需要消耗时间,占用物理空间,当表中数据增加、删除和修改时,索引需要动态维护,降低了数据的维护速度。
发表于 2023-03-04 15:53:16
回复(0)
0
不想打工的小飞象很贪玩
索引是对数据库中某一列或多列的值进行排序得到的结果,目的是快速访问数据库中的数据。好处:避免全局扫描,节省时间。坏处:占用额外的内存空间,数据更改时需要维护索引。索引类型:主键、联合、聚簇、辅助、普通、前缀、单列。索引失效问题
发表于 2023-03-03 21:43:28
回复(0)
0
zhinen丶
索引是一种查询操作快速确定哪些行符合where子句中的条件,并检索到这些行的其他列值的数据结构。优点能大幅提高匹配where条件的检索效率,还能用于排序和分组操作的加速。坏处:增加存储资源的消耗,增大了插入、更新和删除操作的维护成本。
发表于 2022-09-11 11:27:46
回复(0)
0
xixio_
SQL加快数据库查询技术,避免全表扫描,确保索引数据唯一性,提升数据库查询性能,但是索引创建和维护需要时间,占用物理空间。
发表于 2022-09-08 21:39:19
回复(0)
0
牛客629480256号
索引是对数据库表中一列或多列的值进行排序的一种数据结构,使用索引可以快速访问数据库中的特定信息,是加快数据库查询的技术。好处:可以避免全表查询,确保索引数据的唯一性,提升数据库查询的性能。坏处:创建和维护索引需要消耗时间,占用物理空间,当表中的数据增加、删除和修改时,索引需要动态维护,降低了数据的维护速度。
发表于 2022-09-04 19:40:10
回复(0)
0
林水水水
索引能够更快速的搜寻到指定位置的数据
发表于 2022-09-02 14:13:49
回复(0)
0
慕_白
1. 建立索引可以加快SQL目标检索的速度,索引分为单索引和组合索引,单索引包含单个列,组合索引可以包含多个列 2. 优点:提高SQL语句的目标检索效率 3. 缺点:当对表进行更新删除时,效率会降低,因为不光要更新表中的元素,还需要保存索引文件,同时建立索引也会占用额外的磁盘空间,增加存储压力
发表于 2022-08-29 05:37:54
回复(0)
0
北壹
索引就像指向表行的指针,是一种允许查询操作快速确定哪些行符合WHERE子句中的条件,并检索到这些行的其他列值的数据结构; 索引主要有普通索引、唯一索引、主键索引、外键索引、全文索引、复合索引几种; 在大数据量的查询中,合理使用索引的优点非常明显,不仅能大幅提高匹配where条件的检索效率,还能用于排序和分组操作的加速。
发表于 2022-08-18 13:54:04
回复(0)
0
别说天会黑
索引就像指向表行的指针,能够根据sql语句快速找到对应的行
发表于 2022-06-26 09:08:56
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
数据库
上传者:
real19931
难度:
19条回答
44收藏
2595浏览
热门推荐
相关试题
明明的随机数
数组
评论
(3704)
来自
华为研发工程师编程题
体育课测验(二)
广度优先搜索(BFS)
拓扑排序
dfs
评论
(2)
防火墙是怎么实现的?
计算机网络基础
评论
(1)
PMOS和NMOS的区别
元器件
评论
(1)
“乔布斯不做调查,张小龙不看数据。...
用户研究
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题