作者前言
🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂
🎂 作者介绍: 🎂🎂
🎂 🎉🎉🎉🎉🎉🎉🎉 🎂
🎂作者id:老秦包你会, 🎂
简单介绍:🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂
喜欢学习C语言和python等编程语言,是一位爱分享的博主,有兴趣的小可爱可以来互讨 🎂🎂🎂🎂🎂🎂🎂🎂
🎂个人主页::小小页面🎂
🎂gitee页面:秦大大🎂
🎂🎂🎂🎂🎂🎂🎂🎂
🎂 一个爱分享的小博主 欢迎小可爱们前来借鉴🎂
sql语句的拔高
- **作者前言**
- MySQL高级
- 索引
- 分区
- 图形化界面
- 总结
MySQL高级
索引
目的在于提高查询效率,是对数据表里所有记录的引用指针。通过不断的缩小数据的获取范围,筛选出最终想要的结果,并且把随机的事件变成顺序的事件,总是通过同一种查找方式来锁定数
怎么理解呢?我来举个例子,查新华字典,查一个狗字,我们可以通过gou拼音来找,首先我们要先找到g,在g的范围内查找出o,然后在go的范围内查找出u
索引不同于约束。一张表中,索引可以只有一个字段(可能要求值唯一),也可以是多个字段组成索引,这样的索引叫作 联合索引 。即为想要提高查找速度,必须要通过这多个索引进行查找
我们回想之前的主键一个字段 唯一非空,联合主键多个字段,唯一非空,同理索引也一样
查看索引
show index from table_name;
创建索引
create index ID on 学生表格1(age);
-- 创建索引
create index 索引名称 on table_name(字段名称(长度))
-- 如果指定字段是字符串,建议长度与字段长度一致。如果不是字符串,可以不填写长度部分
-- 唯一索引
create unique index 索引名称 on table_name (字段名称)
-- 联合索引
create index 索引名称 on table_name (column1, column2);
-- 删除索引
drop index 索引名称 on 表名;
分区
数据库中的数据是以文件的形势存在磁盘上的。一张表主要对应着三个文件, frm 存放表结构,myd 存放表数据,myi 存表索引。如果一张表的数据量太大,myd 、myi 就会变的很大,查找数据就会很慢,这个时候我们可以利用mysql的分区功能,在物理上将这一张表对应的三个文件,分割成许多个小块。查找一条数据时,就不用全部查找了,只要知道这条数据在哪一块,然后在那一块找就行了。如果表的数据太大,可能一个磁盘放不下,这时候,可以把数据分配到不同的磁盘里面去。
就拿xlsx表格来讲
一张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)
);
分区一般使用于数据很大的数据库中,如果数据较小的话一般不使用
图形化界面
在前面看我过我博客的小可爱就会会知道,上面事务和分区可以在图形化界面操作,
这里就不过多介绍了,小可爱可以去慢慢挖掘
总结
这里简单的介绍了索引和分区,也不懂的小可爱可以私聊