首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

MySQL系列之索引入门(上)

  • 25-02-22 00:21
  • 4561
  • 9472
blog.csdn.net

前言

在我们的日常项目或产品研发/运行过程中,是否经常遇到查询效率问题?
——答:必须的呀
但凡遇到这类问题,甲方见了直叹气,乙方见了直摇头,恨不得亲自上阵了哟~

当Table中,数据积累到一定程度,一般考虑几个优化策略:

  • 横向拆表,分而治之
  • 纵向拆表,大而化小
  • 增加索引,寻找捷径
  • 优化SQL,探索最优
  • …等等

今天博主重点讲讲其中的索引(英文:index)是如何快速定位的。Let`s Go!

在这里插入图片描述


首先,我们了解一下,MySQL有哪些索引可供选择。

一、索引简介

1. 按逻辑划分
索引类型索引名称索引说明
KEY普通索引基本索引类型,值允许重复和空
UNIQUE唯一索引值必须唯一,允许空
PRIMARY主键索引唯一索引加强版,值不允许空
FULLTEXT全文索引可以对长文本值进行分词检索,值允许重复和空
2. 按物理划分
索引类型索引特征索引说明
聚簇索引B+树,表唯一基于主键形成Tree结构存储,包含每行记录
非聚簇索引基于聚簇索引创建,允许多个对主键索引,且包含聚簇索引key

在一定程度上,聚簇索引实现了全表数据的索引化存储,其主要基于主键完成的。因此主键一般不允许变更,否则变更导致的索引代价太高。而非聚簇索引又实现了对聚簇索引的进一步索引,当然也只对主键值进行索引,它也称为辅助索引。
在这里插入图片描述

基于上图,可以理解为,如果我们使用非聚簇索引列进行查询,会多一次B+Tree的扫描。所以如何合理使用,需结合业务进行优化。

3. 按影响字段划分
索引名称索引特征索引说明
单列索引单列值对单列进行索引,比如常见的primary
组合索引多列值对多列进行索引,以组合的形式提高查询效率

结语

综上,博主从逻辑、物理、影响字段三个维度,对索引进行了剖析并加以简述,我想各位盆友应该会一目了然。数据效率是业务发展的关键,也是我们日常面对客户必须要解决的关键环节。


在这里插入图片描述

文章已被收录至官方知识档案
MySQL入门技能树 索引索引入门95486 人正在系统学习中
注:本文转载自blog.csdn.net的一叶飞舟的文章"https://blog.csdn.net/splendid_java/article/details/135673005"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top