索引优势劣势|学习笔记

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL DuckDB 分析主实例,集群系列 8核16GB
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 有大数据量的表,就需要花时间研究建立最优秀的索引,或优化查询。要根据客户的点击,调整索引优化出来的。变更业务环境等都需要调整索引,以便查询起来更方便。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
机器学习/深度学习 人工智能 算法
详解机器学习概念、算法
详解机器学习概念、算法
详解机器学习概念、算法
|
存储 网络协议 安全
探索计算机的各个系统:从硬件到软件的全貌
探索计算机的各个系统:从硬件到软件的全貌
392 5
|
小程序 UED
软件工程毕设参考-基于微信小程序的干洗系统源码
该系统主要分为小程序和管理端两个部分。小程序包含登录/注册、轮播图、衣物信息、衣物添加干洗清单、创建清洗订单、我的订单、通知公告、我要留言、个人信息等功能。管理端包含登录、轮播图管理、留言管理、订单管理、通知管理、干洗衣物管理、留言管理、用户管理、个人信息等功能。通过该系统,用户可以方便地添加和管理衣物干洗清单,创建清洗订单并查看订单状态,以及查看系统公告和留言回复等信息。管理员可以方便地管理轮播图、留言、订单、通知、干洗衣物和用户等信息。该系统具有操作简便、用户体验好、管理高效等优点,可以为用户和管理员提供更加便利的服务。
|
机器学习/深度学习 算法
基于BP神经网络的人口预测
基于BP神经网络的人口预测
445 0
|
前端开发 JavaScript Java
java常用数据判空、比较和类型转换
本文介绍了Java开发中常见的数据处理技巧,包括数据判空、数据比较和类型转换。详细讲解了字符串、Integer、对象、List、Map、Set及数组的判空方法,推荐使用工具类如StringUtils、Objects等。同时,讨论了基本数据类型与引用数据类型的比较方法,以及自动类型转换和强制类型转换的规则。最后,提供了数值类型与字符串互相转换的具体示例。
674 3
|
数据采集 前端开发 搜索推荐
埋点tracker:前端数据埋点-方案设计思路梳理
埋点tracker:前端数据埋点-方案设计思路梳理
3590 0
|
存储 SQL 关系型数据库
20. Mysql 游标的定义和使用
20. Mysql 游标的定义和使用
250 1
|
前端开发 IDE 数据可视化
深入理解与应用自动化测试框架Selenium的最佳实践
【4月更文挑战第30天】 本文将深入剖析自动化测试框架Selenium的核心原理,并结合最佳实践案例,探讨如何有效提升测试覆盖率和效率。文中不仅涉及Selenium的架构解析,还将提供针对性的策略来优化测试脚本,确保测试流程的稳定性与可靠性。通过实例演示,读者可以掌握如何在不同测试场景中灵活运用Selenium,以及如何处理常见的技术挑战。
|
关系型数据库 MySQL 数据库
Mysql8安装+重装的数据备份方法【提供Mysql8.0.27版本的压缩包】
Mysql8安装+重装的数据备份方法【提供Mysql8.0.27版本的压缩包】
510 0
Mysql8安装+重装的数据备份方法【提供Mysql8.0.27版本的压缩包】

热门文章

最新文章