索引优势劣势|学习笔记

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 快速学习索引优势劣势

开发者学堂课程【MySQL 高级应用 - 索引和锁索引优势劣势】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/598/detail/8592


索引优势劣势


目录:

一、优势

二、劣势


上节课回顾:

索引有排序和查找两大功能。


一、优势

1、提高数据检索的效率,降低数据库的 IO 成本

举例:

类似大学图书馆建书目索引;去有一百万本书的图书馆找书,如果不用索引的情况下,大部分人的运气不会是第一本书就是想找的书的这么好运气,运气背还可能存在快把图书馆翻过来找之前才找到。有索引就会有一个数值参考,会加快查找的效率,少做无用功。

从硬件角度说是 IO

2、降低数据排序的成本,降低了 CPU 的消耗

举例:

通过索引列对数据进行排序;需要找手机号这种字段,查的速度快,也要归功于已经排好序的前提下,比如英文“mysql”这个单词,需要定位到 m 字母,然后从下往下找到y字母,再找到剩下的 sql ,这样不需要每一个字母去查找或者全表扫描。

从硬件角度说是运算 cpu


二、劣势

在图书馆里,管理员不会每本书都有记录,因为会占空间,也就是不能建立高达80个表,只会浪费内存;在淘宝等电商平台会有一个分类的功能,这样的称之为复合索引,再现实使用过程中复合索引更为常见,这样的优化才会提高查找速度。

1、实际上索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录,所以索引列也是要占用空间的虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行 INSERTUPDATE DELETE

2、因为更新表时,MySQL 不仅要保存数据,还要保存一下索引文件每次更新添加了索引列的字段,都会调整因为更新所带来的键值变化后的索引信息;

3、索引只是提高效率的一个因素,如果你的 MySQL 有大数据量的表,就需要花时间研究建立最优秀的索引,或优化查询。要根据客户的点击,调整索引优化出来的。变更业务环境等都需要调整索引,以便查询起来更方便。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8天前
|
数据库 数据库管理 索引
索引在提高查询性能方面的优势体现在哪些方面?
索引在提高查询性能方面具有多方面的显著优势
|
1天前
|
存储 关系型数据库 分布式数据库
PolarDB的PolarStore存储引擎以其高效的索引结构、优化的数据压缩算法、出色的事务处理能力著称
PolarDB的PolarStore存储引擎以其高效的索引结构、优化的数据压缩算法、出色的事务处理能力著称。本文深入解析PolarStore的内部机制及优化策略,包括合理调整索引、优化数据分布、控制事务规模等,旨在最大化其性能优势,提升数据存储与访问效率。
11 5
|
5天前
|
数据可视化
数据可视化工具处理数据异常的优势和劣势分别是什么?
数据可视化工具处理数据异常的优势和劣势分别是什么?
12 3
|
1月前
|
存储 数据库 索引
如何提高索引的效率和实用性
【10月更文挑战第15天】如何提高索引的效率和实用性
|
2月前
|
UED
代码分割的优势和劣势分别是什么?
代码分割的优势和劣势分别是什么?
|
4月前
|
监控 网络协议 Linux
Linux系统管理与优化技巧:提升性能与效率的深度探索
【7月更文挑战第24天】Linux系统管理与优化是一个持续的过程,需要管理员和开发者不断地学习和实践。通过合理的系统监控、内存管理、文件系统优化、进程与任务管理、网络优化以及软件与包管理,可以显著提升Linux系统的性能和效率,确保业务的稳定运行。希望本文的技巧能为广大Linux用户带来帮助,共同推动Linux生态的繁荣发展。
|
5月前
|
监控 安全 网络协议
EIPX-660的特性、优势及其应用场景
EIPX-660的特性、优势及其应用场景
|
6月前
|
数据库 UED 索引
构建高效的数据库索引:提升查询性能的关键技巧
本文将深入探讨数据库索引的设计和优化,介绍如何构建高效的数据库索引以提升查询性能。通过学习本文,读者将掌握数据库索引的原理、常见类型以及优化策略,从而在实际应用中提升数据库查询效率。
|
6月前
|
缓存 监控 数据库
优化数据库查询性能的八大技巧
在今天的互联网时代,数据库是许多应用程序的核心组件之一。优化数据库查询性能是提升应用程序整体性能的关键。本文介绍了八种有效的技巧,帮助开发人员提高数据库查询性能,从而提升应用程序的响应速度和用户体验。
|
6月前
|
缓存 数据库 UED
《优化数据库查询性能的五大技巧》
数据库查询性能直接影响着系统的响应速度和用户体验。本文将介绍五种优化数据库查询性能的技巧,涵盖了索引优化、查询语句优化、缓存机制、分区表和硬件优化等方面,帮助开发人员有效提升系统的性能和稳定性。
下一篇
无影云桌面