MySQL数据库(七)SQL 优化

目录 ​​​​​​​

[一 插入数据](#一 插入数据)

[1 批量插入](#1 批量插入)

[2 手动提交事务](#2 手动提交事务)

[3 主键顺序插入](#3 主键顺序插入)

[4* 使用load插入指令数据](#4* 使用load插入指令数据)

[二 主键优化](#二 主键优化)

[1 数据组织方式](#1 数据组织方式)

[2 页分裂](#2 页分裂)

[​编辑3 页合并](#编辑3 页合并)

[4* 主键设计原则](#4* 主键设计原则)

[三 order by 优化](#三 order by 优化)

[四 group by 优化](#四 group by 优化)

[五 limit 优化](#五 limit 优化)

[六 count优化](#六 count优化)

[七 update优化](#七 update优化)


一 插入数据

采用方法

1 批量插入

2 手动提交事务

3 主键顺序插入

4* 使用load插入指令数据

二 主键优化

1 数据组织方式

在InnoDB存储引擎中,表中的数据都是根据主键顺序组织存放的,这种存储方式的表称为索引组织表

2 页分裂

页可以为空也可以填充一半,也可以填充全部。每个也包含2-N行数据(如果一行数据过大会行溢出),根据主键排列。-主键乱序插入可能出现的问题。

3 页合并

4* 主键设计原则

  • 1 满足业务需求的情况下,尽量降低主键的长度。
  • 2 插入数据时尽量采用顺序插入选择使用AUTO_INCREMENT自增主键。
  • 3 尽量不要使用UUID(往往是无序的)做主键或者是其他自然主键,如身份证号。
  • 4 业务操作时尽量减少对主键的修改

三 order by 优化

代码实现:

四 group by 优化

五 limit 优化

六 count优化

七 update优化

InnoDB具备行级锁,事务,

在执行语句时如果没有索引,而进行更新则会表锁,而无法再对表中的数据进行更新。

相关推荐
Think Spatial 空间思维23 分钟前
【HTTPS基础概念与原理】TLS握手过程详解
数据库·网络协议·https
逝水如流年轻往返染尘30 分钟前
MySQL表的增删查改
mysql
laowangpython42 分钟前
MySQL基础面试通关秘籍(附高频考点解析)
数据库·mysql·其他·面试
mooyuan天天1 小时前
SQL注入报错“Illegal mix of collations for operation ‘UNION‘”解决办法
数据库·web安全·sql注入·dvwa靶场·sql报错
Johny_Zhao1 小时前
Vmware workstation安装部署微软SCCM服务系统
网络·人工智能·python·sql·网络安全·信息安全·微软·云计算·shell·系统运维·sccm
运维-大白同学1 小时前
go-数据库基本操作
开发语言·数据库·golang
R-sz1 小时前
通过从数据库加载MinIO配置并初始化MinioClient,spring boot之Minio上传
数据库·oracle
洛阳泰山2 小时前
Windows系统部署MongoDB数据库图文教程
数据库·windows·mongodb
医只鸡腿子2 小时前
3.2/Q2,Charls最新文章解读
数据库·数据挖掘·数据分析·深度优先·数据库开发
bang___bang_2 小时前
PostgreSQL内幕剖析——结构与架构
数据库·postgresql