数据库
Mysql数据库学习!
yum安装mysql数据库
数据库基础知识
数据库条件约束
数据库用户及权限操作-DCL
数据库基础查询操作-DQL
数据库以及表结构操作-DDL
数据库表记录操作-DML
Mysql数据库常用安全加固设置
Redis数据库学习!
Redis数据库安装
SQL server数据库学习
SQL server2019基础安装
Mysql_windows安装
mysql数据库基本概念简介
数据库DQL操作
DDL数据库操作
数据库DML语句
DCL数据控制语句
多表查询
函数
事务
mysql存储引擎
mysql索引
mysql约束
mysql语句优化
本文档使用 MrDoc 发布
-
+
首页
mysql语句优化
# mysql语句优化 ## 插入数据 insert 优化 ```sql # 1.需要插入大量数据时使用批量插入,减少一条数据一条语句。 # 单次批量插入记录建议小于1000。 insert into tb_suer values(1,'chuck'),(2,'joan')... # 2.手动提交事务,减少事务频繁操作 start transaction; insert into tb_suer values(1,'chuck'),(2,'joan')...; insert into tb_suer values(1,'chuck'),(2,'joan')...; insert into tb_suer values(1,'chuck'),(2,'joan')...; commit; # 3.主键顺序插入 顺序插入效率较高 # 4.大批量数据,使用load命令 # 客户端连接时添加参数--local-infile mysql --local-infile -uroot -p # 设置全局参数local_infile为1,开启本地加载文件导入的开关 set global local_infile = 1; # 执行load将准备好的数据加载到表结构 load data local infile '文件路径' into table '表名' fields terminated by ',' lines terminated by '\n'; ``` ## 主键优化 主键顺序插入 页分裂和页合并 主键设计原则: 尽量降低主键的长度 插入数据选择顺序插入,主键使用自增AUTO_INCREMENT 尽量不要使用UUID或其他自然主键,如身份证等 业务操作,避免修改主键 ## order by优化 排序优化 using filesort:通过表的索引或全部扫描,读取满足条件的数据行,然后在排序缓存区完成排序 using index:通过有序索引顺序扫描直接返回有序数据,效率高 可以创建对应的降序排序。 尽量使用覆盖索引。 大数据排序时适当增加排序缓冲区(256k)sort_buttfer_size ## group by优化 分组查询 using temporary,使用临时表进行分组,性能较低 ## limit优化 ## count优化 ## update优化
Chuck
2023年6月21日 09:53
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码