索引优势劣势|学习笔记

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

开发者学堂课程【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 有大数据量的表,就需要花时间研究建立最优秀的索引,或优化查询。要根据客户的点击,调整索引优化出来的。变更业务环境等都需要调整索引,以便查询起来更方便。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8月前
|
存储 搜索推荐 算法
在实际应用中,冒泡排序的优势和劣势分别是什么?
在实际应用中,冒泡排序的优势和劣势分别是什么?
435 3
|
8月前
|
JavaScript 前端开发 API
uniapp的优势与劣势
uniapp的优势与劣势
226 1
|
2月前
|
数据库 数据库管理 索引
索引在提高查询性能方面的优势体现在哪些方面?
索引在提高查询性能方面具有多方面的显著优势
|
2月前
|
存储 关系型数据库 分布式数据库
PolarDB的PolarStore存储引擎以其高效的索引结构、优化的数据压缩算法、出色的事务处理能力著称
PolarDB的PolarStore存储引擎以其高效的索引结构、优化的数据压缩算法、出色的事务处理能力著称。本文深入解析PolarStore的内部机制及优化策略,包括合理调整索引、优化数据分布、控制事务规模等,旨在最大化其性能优势,提升数据存储与访问效率。
33 5
|
3月前
|
存储 数据库 索引
如何提高索引的效率和实用性
【10月更文挑战第15天】如何提高索引的效率和实用性
|
4月前
|
UED
代码分割的优势和劣势分别是什么?
代码分割的优势和劣势分别是什么?
|
7月前
|
SQL 缓存 负载均衡
数据库设计优化:性能提升与扩展性的技术探讨
【6月更文挑战第28天】数据库设计优化聚焦性能与扩展性:SQL优化、索引策略、缓存利用及分库分表、集群技术,旨在平衡处理速度与系统稳定性。通过智能SQL、复合索引、查询缓存减少数据库压力,垂直/水平拆分与集群实现数据分布式处理,提升并发能力。
|
6月前
|
存储 监控 测试技术
现代数据库系统的性能优化策略与实践
随着数据量和复杂性的不断增加,现代数据库系统的性能优化成为软件工程中至关重要的一环。本文探讨了几种有效的性能优化策略,并结合实际案例展示了这些策略在提升数据库系统效率方面的应用。
|
6月前
|
SQL 运维 监控
MSSQL性能调优深度解析:索引精细管理、SQL查询优化技巧与高效并发控制
在Microsoft SQL Server(MSSQL)的运维与性能调优过程中,针对索引、SQL查询和并发控制的有效管理是提高数据库性能和稳定性的关键
|
8月前
|
数据库 UED 索引
构建高效的数据库索引:提升查询性能的关键技巧
本文将深入探讨数据库索引的设计和优化,介绍如何构建高效的数据库索引以提升查询性能。通过学习本文,读者将掌握数据库索引的原理、常见类型以及优化策略,从而在实际应用中提升数据库查询效率。