{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

MySQL的索引是什么?怎么优化?

keithxiaoykeithxiaoy 回答0 收藏1
收藏问题

3条回答

TANKING

TANKING

回答于2022-06-28 15:01

MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。

打个比方:

如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的 MySQL就是一个人力三轮车。

索引分单列索引和组合索引。

  1. 单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不 是组合索引。

  2. 组合索引,即一个索引包含多个列。

评论0 赞同0
  •  加载中...
hightopo

hightopo

回答于2022-06-28 15:01

  1. MySQL的索引类似于目录,可以提高数据检索的效率,降低数据库的IO成本。

  2. 也可以简单理解为:快速查找排好序的一种数据结构。

  3. 如果表有100万条记录,通过索引查找记录至少要比顺序扫描记录快1000倍。

  4. 为表设置索引要付出代价的:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间(因为索引也要随之变动)。

  5. MySQL优化是每个程序员都必须掌握的学习内容,为了帮助大家进阶Java中高级、架构师,我准备了一套架构师学习教程还可加入大牛学习圈子,分享SQL优化、微服务架构、分布式 JVM性能调优 Java并发编程和网络编程 电商项目实战 redis等教程,各种大牛都是3-8年Java开发者,每天还有12年的架构师做讲解,助你进阶中高级Java程序员,增值涨薪!需要可关注本头条号,并且发送私信关键词:Java

评论0 赞同0
  •  加载中...
ThreeWords

ThreeWords

回答于2022-06-28 15:01

索引相当于是高效获取数据的数据结构,这些数据结构以某种方式引用数据,这种结构就是索引。可简单理解为排好序的快速查找数据结构。

索引方式有BTREE索引和HASH索引,实际开发中一般使用BTREE索引,很少用到HASH索引,因其范围查询及较多限制影响,但若对于等值查询更快。若使用BTREE索引,一定要在Range级别以上,如在组合索引中,若前方使用范围查询,后面索引将失效。

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<