当前位置: 首页 > news >正文

Mysql数据库 18.Mysql SQL优化

SQL优化

一、插入优化

多条插入语句,影响执行效率

优化方案

1、批量插入:

在一条insert语句中多条数据,但是如果数据量过大,也不能完全使用一条语句语句,建议数据量为一次性插入1000条以下的数据

如果数据量多大,可以使用拆分为多条insert语句

为避免MySQL事务影响,当数据量过大时,可以采用手动提交事务

2、主键顺序插入:

因为如果主键的顺序插入高于乱序插入(一般情况下都是顺序)

二、排序优化

避免使用文件排序(Using filesort),效率低

文件排序:

将所有数据列为一个文件,查询文件中的所有数据,在进行排序

尽量使用索引(索引相当于目录)

多字段排序:

多字段排序要尽量遵循最左前缀原则,不要对一个字段升序对另一个字段降序,否则也会使用到文件排序

最左前缀原则:

只有从左到右的索引在使用时可以被查询到

MySQL最左前端是指在使用索引时,只有从从左到右的索引列才能被用到,也就是如果索引是(a,b,c),那么查询条件是a、ab、abc才能使用这个索引

在查询语句前加入explain

explain select 字段列表 from 表名 where 条件 order by 字段名;

优化方案

创建索引

文件排序

使用索引进行排序,不使用文件排序

如果违反最左前缀原则,还是会使用文件排序,不会使用索引进行排序

http://www.lryc.cn/news/245733.html

相关文章:

  • [AutoSAR 存储] 汽车智能座舱的存储需求
  • 大数据-之LibrA数据库系统告警处理(ALM-37006 Coordinator进程异常)
  • python 列表的操作
  • Vue快速实践总结 · 上篇
  • 外汇天眼:香港监管机构对AMTD Global Markets Limited启动法律诉讼
  • OpenCV入门教程
  • 84基于matlab的数字图像处理
  • jQuery_09 事件的绑定与使用(on)
  • 详解Java中的泛型(泛型的语法,擦除机制,泛型的上界)
  • 数据结构算法-贪心算法
  • 【云备份】数据管理模块
  • C++ :const修饰成员函数
  • 论文阅读:“Model-based teeth reconstruction”
  • Web 安全之证书透明(Certificate Transparency)详解
  • 智能优化算法应用:基于蜻蜓算法无线传感器网络(WSN)覆盖优化 - 附代码
  • 【古诗生成AI实战】之二——项目架构设计
  • 动态网页从数据库取信息,然后展示。
  • 单片机学习3——数码管
  • 数据库表结构导出成Excel或Word格式
  • School training competition ( Second )
  • 深度解析 Docker Registry:构建安全高效的私有镜像仓库
  • leetcode 不同的二叉搜索树
  • 通俗易懂的spring Cloud;业务场景介绍 二、Spring Cloud核心组件:Eureka 、Feign、Ribbon、Hystrix、zuul
  • 大数据预处理技术
  • 跳表的学习记录
  • 电子学会C/C++编程等级考试2022年09月(二级)真题解析
  • 如何使用nginx部署静态资源
  • lua的gc原理
  • redis作为缓存详解
  • 231127 刷题日报