Mysql数据库第十三课-----------sql语句的拔高3--------直冲云霄

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Mysql数据库第十三课-----------sql语句的拔高3--------直冲云霄

MySQL高级

索引

目的在于提高查询效率,是对数据表里所有记录的引用指针。通过不断的缩小数据的获取范围,筛选出最终想要的结果,并且把随机的事件变成顺序的事件,总是通过同一种查找方式来锁定数

怎么理解呢?我来举个例子,查新华字典,查一个狗字,我们可以通过gou拼音来找,首先我们要先找到g,在g的范围内查找出o,然后在go的范围内查找出u

ae220f92357a46bd89946c2d389c52ac.png

索引不同于约束。一张表中,索引可以只有一个字段(可能要求值唯一),也可以是多个字段组成索引,这样的索引叫作 联合索引 。即为想要提高查找速度,必须要通过这多个索引进行查找

我们回想之前的主键一个字段 唯一非空,联合主键多个字段,唯一非空,同理索引也一样

 查看索引
show index from table_name;

创建索引

create index ID on 学生表格1(age);
-- 创建索引
create index 索引名称 on table_name(字段名称(长度))
-- 如果指定字段是字符串,建议长度与字段长度一致。如果不是字符串,可以不填写长度部分

2c2d1445f40c4442af3e836a62abef24.png

-- 唯一索引
create unique index 索引名称 on table_name (字段名称)
-- 联合索引
create index 索引名称 on table_name (column1, column2);
-- 删除索引
drop index 索引名称 on 表名;

5f1c4226c3b04441b94c1ec49b6320a5.png

分区

数据库中的数据是以文件的形势存在磁盘上的。一张表主要对应着三个文件, frm 存放表结构,myd 存放表数据,myi 存表索引。如果一张表的数据量太大,myd 、myi 就会变的很大,查找数据就会很慢,这个时候我们可以利用mysql的分区功能,在物理上将这一张表对应的三个文件,分割成许多个小块。查找一条数据时,就不用全部查找了,只要知道这条数据在哪一块,然后在那一块找就行了。如果表的数据太大,可能一个磁盘放不下,这时候,可以把数据分配到不同的磁盘里面去。


就拿xlsx表格来讲

7e8c04c74e97482f80778eb6b470c113.png

一张xlsx表格可以有多个子表,但是总体数据量不变,只是每个子表的存储变少了,而分区就是这个意思

–partition by range

CREATE TABLE table_name (
id int not null
,name varchar(30)
,age int default 0
,gender varchar(4) default '未知'
,cdate date not null
,week int not null
)
PARTITION BY RANGE (week) (
PARTITION w1 VALUES (1)
,PARTITION w2 VALUES (2)
,PARTITION w3 VALUES (3)
,PARTITION w4 VALUES (4)
,PARTITION w5 VALUES (5)
,PARTITION w6 VALUES (6)
,PARTITION w7 VALUES (7)
);

分区一般使用于数据很大的数据库中,如果数据较小的话一般不使用

图形化界面

在前面看我过我博客的小可爱就会会知道,上面事务和分区可以在图形化界面操作,

这里就不过多介绍了,小可爱可以去慢慢挖掘

总结

这里简单的介绍了索引和分区,也不懂的小可爱可以私聊

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
9天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
45 2
|
9天前
|
SQL 数据采集 监控
局域网监控电脑屏幕软件:PL/SQL 实现的数据库关联监控
在当今网络环境中,基于PL/SQL的局域网监控系统对于企业和机构的信息安全至关重要。该系统包括屏幕数据采集、数据处理与分析、数据库关联与存储三个核心模块,能够提供全面而准确的监控信息,帮助管理者有效监督局域网内的电脑使用情况。
12 2
|
12天前
|
存储 关系型数据库 MySQL
MySQL vs. PostgreSQL:选择适合你的开源数据库
在众多开源数据库中,MySQL和PostgreSQL无疑是最受欢迎的两个。它们都有着强大的功能、广泛的社区支持和丰富的生态系统。然而,它们在设计理念、性能特点、功能特性等方面存在着显著的差异。本文将从这三个方面对MySQL和PostgreSQL进行比较,以帮助您选择更适合您需求的开源数据库。
52 4
|
13天前
|
SQL JSON Java
没有数据库也能用 SQL
SPL(Structured Process Language)是一款开源软件,允许用户直接对CSV、XLS等文件进行SQL查询,无需将数据导入数据库。它提供了标准的JDBC驱动,支持复杂的SQL操作,如JOIN、子查询和WITH语句,还能处理非标准格式的文件和JSON数据。SPL不仅简化了数据查询,还提供了强大的计算能力和友好的IDE,适用于多种数据源的混合计算。
|
17天前
|
存储 关系型数据库 MySQL
如何在MySQL中创建数据库?
【10月更文挑战第16天】如何在MySQL中创建数据库?
|
21天前
|
SQL Oracle 关系型数据库
安装最新 MySQL 8.0 数据库(教学用)
安装最新 MySQL 8.0 数据库(教学用)
93 4
|
19天前
|
存储 SQL 关系型数据库
【入门级教程】MySQL:从零开始的数据库之旅
本教程面向零基础用户,采用通俗易懂的语言和丰富的示例,帮助你快速掌握MySQL的基础知识和操作技巧。内容涵盖SQL语言基础(SELECT、INSERT、UPDATE、DELETE等常用语句)、使用索引提高查询效率、存储过程等。适合学生、开发者及数据库爱好者。
35 0
【入门级教程】MySQL:从零开始的数据库之旅
|
20天前
|
SQL 运维 关系型数据库
MySQL 运维 SQL 备忘
MySQL 运维 SQL 备忘录
43 1
|
6天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
38 0
|
7天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第26天】数据库作为现代应用系统的核心组件,其性能优化至关重要。本文主要探讨MySQL的索引策略与查询性能调优。通过合理创建索引(如B-Tree、复合索引)和优化查询语句(如使用EXPLAIN、优化分页查询),可以显著提升数据库的响应速度和稳定性。实践中还需定期审查慢查询日志,持续优化性能。
34 0