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具备行级锁,事务,

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

相关推荐
黑客老李30 分钟前
一次使用十六进制溢出绕过 WAF实现XSS的经历
java·运维·服务器·前端·sql·学习·xss
圆️️31 分钟前
【故障处理】ORA-19849 ORA-19612 0RA-17627 ORA-03114
运维·数据库·oracle
圆️️1 小时前
12c及以后 ADG主备切换
服务器·网络·数据库
圆️️1 小时前
11g ADG主备切换步骤
数据库·sql
一个高效工作的家伙1 小时前
安装mariadb+galera搭建数据库集群
运维·服务器·数据库
PGCCC1 小时前
【PGCCC】commit_delay 对性能的提升:PostgreSQL 基准测试
数据库·postgresql
漫步者TZ4 小时前
【kafka系列】Topic 与 Partition
数据库·分布式·kafka
Austindatabases5 小时前
PostgreSQL SQL优化用兵法,优化后提高 140倍速度
数据库·sql·postgresql
Mr.L-OAM5 小时前
SQL自学,mysql从入门到精通 --- 第 15天,数据导入、导出
android·sql·mysql
web147862107235 小时前
SQL Server详细使用教程(包含启动SQL server服务、建立数据库、建表的详细操作) 非常适合初学者
服务器·数据库·oracle