Mysql数据库 18.Mysql SQL优化

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 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 字段名;


优化方案


创建索引

文件排序

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

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


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
23小时前
|
关系型数据库 MySQL 测试技术
数据库专家带你体验PolarDB MySQL版 Serverless的极致弹性特性
本次基于阿里云瑶池数据库解决方案体验馆,带你体验PolarDB MySQL Serverless形态下的性能压测环境,基于可选择的标准压测工具进行压测,构造弹性场景进行压测,实时动态展示弹性能力、价格和性价比结果,压测环境可开放定制修改、可重复验证。参与活动即有机会获得鼠标、小米打印机、卫衣等精美礼品。
|
1天前
|
SQL Oracle Java
怎样写出可在各种数据库间移植的SQL
国际标准没有对这些函数做规定,这种 SQL 语句就会和数据库相关而无法移植了,而这些函数在应用开发中还特别常见。 Hibernate 能将包括这些函数的标准 HQL 语句转换成不同数据库的 SQL,但 HQL 支持的函数太少,碰到不认识的函数还是要分别注册,这就丧失了可移植性;而且 HQL 能生成的 SQL 本身也比较简单,覆盖面太窄了。
|
1天前
|
SQL 关系型数据库 MySQL
MySQL查询语句优化的十个小技巧!
查询语句的优化是SQL效率优化的一个方式,可以通过优化sql语句来尽量使用已有的索引,避免全表扫描,从而提高查询效率。最近在对项目中的一些sql进行优化,总结整理了一些方法。
7 1
|
2天前
|
SQL 关系型数据库 MySQL
MySQL数据库学习(小白一文掌握Mysql)
MySQL数据库学习(小白一文掌握Mysql)
20 0
|
2天前
|
SQL 关系型数据库 MySQL
|
2天前
|
SQL 关系型数据库 MySQL
数据库管理新星:Navicat、HeidiSQL和SQL Workbench的竞争格局
随着数据管理需求的不断增长,数据库管理工具的选择变得至关重要。在众多选择中,Navicat、HeidiSQL和SQL Workbench作为备受关注的数据库管理工具,各自展现出独特的特性和功能,竞争格局日益激烈。
16 0
|
3天前
|
存储 监控 关系型数据库
Mysql内部在索引层面的优化
Mysql内部在索引层面的优化
|
3天前
|
SQL 算法 关系型数据库
MySQL索引优化实战二
MySQL索引优化实战二