MYSQL数据库学习(三)

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

PS:如果查询占大多数,那么性能优化就用慢查询日志,查询哪些select语句需要优化

PS:查询慢查询开启否

PS:还有要优化那种业务简单却相对较长的select语句,通过profile

以上都是通过时间来粗略判定SQL语句的性能,要想真正的查看性能要用explain,查询是否使用索引等

PS:尽量使用大于等于或小于等于,否则后面的status的索引失效

PS:索引使用如果不注意就会变成全表扫描,费时

PS:因为大多数都符合条件,那么还不如走全表扫描省时

有了复合索引还能对字段再创建一个单列索引,这时候如果查询的时候可以用SQL提示来说明想用哪个索引来查询

PS:索引有单列索引和联合索引,分别就是一个和多个

PS:第一个use只是建议,用不用是系统来评估的也可能不接受建议,第三条是强制使用

PS:在二级索引的叶子上就能找到ID,如果还要查询别的字段就需要在通过ID走聚集索引来找其他的字段,也就是回表查询数据,如果在聚集索引中用ID找*也数据覆盖索引的原则,不用回表

PS:这里就可以多建立联合索引,这样就不用回表查询了

PS:自己平衡性能和大小来选择选前几个,降低索引体积提高查询效率

PS:一定要考虑顺序,根据最左前缀法则最左边的一定要存在,上图中是phone

PS:如果数据量超过一百万就要考虑建立索引

SQL优化

PS:避免频繁的事务的提交

PS:二级索引有很多并且叶子节点都是主键,如果主键太长会耗费大量的磁盘空间,像UUID这类生成的时候没有规矩很可能造成乱序插入

PS:可以定义不同的排序规则,这样优化的时候可以也可以一个升序一个降序

PS:下面满足最左前缀法则,不用临时表,提高效率

PS:一旦升级为表锁那么并发性能就会降低

视图


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
分布式计算 关系型数据库 MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
57 3
|
9天前
|
SQL 存储 关系型数据库
【MySQL基础篇】全面学习总结SQL语法、DataGrip安装教程
本文详细介绍了MySQL中的SQL语法,包括数据定义(DDL)、数据操作(DML)、数据查询(DQL)和数据控制(DCL)四个主要部分。内容涵盖了创建、修改和删除数据库、表以及表字段的操作,以及通过图形化工具DataGrip进行数据库管理和查询。此外,还讲解了数据的增、删、改、查操作,以及查询语句的条件、聚合函数、分组、排序和分页等知识点。
【MySQL基础篇】全面学习总结SQL语法、DataGrip安装教程
|
13天前
|
存储 JSON NoSQL
学习 MongoDB:打开强大的数据库技术大门
MongoDB 是一个基于分布式文件存储的文档数据库,由 C++ 编写,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。它与 MySQL 类似,但使用文档结构而非表结构。核心概念包括:数据库(Database)、集合(Collection)、文档(Document)和字段(Field)。MongoDB 使用 BSON 格式存储数据,支持多种数据类型,如字符串、整数、数组等,并通过二进制编码实现高效存储和传输。BSON 文档结构类似 JSON,但更紧凑,适合网络传输。
48 15
|
3月前
|
SQL NoSQL 关系型数据库
数据库学习
【10月更文挑战第8天】
33 1
|
3月前
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
109 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
3月前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
333 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
3月前
|
Java 关系型数据库 MySQL
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
这篇文章是关于如何使用Spring Boot框架通过JdbcTemplate操作MySQL数据库的教程。
118 0
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
|
3月前
|
关系型数据库 MySQL 数据库
mysql关系型数据库的学习
mysql关系型数据库的学习
26 0
|
3月前
|
存储 NoSQL Java
使用 Java 了解和学习 NoSQL 数据库:三个主要优势
使用 Java 了解和学习 NoSQL 数据库:三个主要优势
35 0
|
3月前
|
Kubernetes 关系型数据库 MySQL
k8s学习--利用helm部署应用mysql,加深helm的理解
k8s学习--利用helm部署应用mysql,加深helm的理解
341 0