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.hqwc.cn/news/212351.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【CCF-PTA】第03届Scratch第03题 -- 参观食品厂

参观食品厂 【题目描述】 光明小学定期组织学生参与社会实践,最近的活动主题是参观自动化食品厂。小明看到生产线可以自动筛选罐头重量是否合格,感到十分好奇。回来后,小明准备写一个模拟程序,输入10盒罐头的重量,程…

黑马点评-10实现用户点赞和点赞排行榜功能

用户点赞功能 如果用户只要点赞一次就对数据库中blog表中的liked字段的值加1就会导致一个用户无限点赞 PutMapping("/like/{id}") public Result likeBlog(PathVariable("id") Long id) {// 修改点赞数量,update tb_blog set liked liked 1 where id …

JVMj之console Java监视与管理控制台

jconsole Java监视与管理控制台 1、jconsole介绍 jconsole (java monitoring and management console)是一款基于JMX (Java Management Extensions) 的可视化监视和管理工具。 2、启动jconsole 1、在linux和windwos下通过jconsole启动即可。 2、然后会自动搜索本机运行的…

Zero-Shot Restoration of Back-lit Images Using Deep Internal Learning

ABSTRACT 如何恢复背光图像仍然是一项具有挑战性的任务。该领域最先进的方法基于监督学习,因此通常仅限于特定的训练数据。在本文中,我们提出了一种用于背光图像恢复的“零样本”方案,该方案利用深度学习的力量,但不依赖于任何先…

好工具|datamap,一个好用的地图可视化Excel插件,在Excel中实现地理编码、拾取坐标

在做VRP相关研究的时候,需要对地图数据做很多处理,比如地理编码,根据“重庆市沙坪坝区沙正街174号”这样的一个文本地址知道他的经纬度;再比如绘制一些散点图,根据某个位置的经纬度在地图上把它标注出来。还有有的时候…

标签打印机打印标签时出现,数据处理过程中错误 无法设置项目 图片1的内容无法打印

环境: Win10专业版 NiceLabel Designer 10.1 问题描述: 标签打印机打印标签时出现,数据处理过程中错误 无法设置项目 图片1的内容无法打印 解决方案: 1.删除标签部分文字打印测试 还是一样(未解决) …

数字逻辑电路基础-时序逻辑电路之触发器

文章目录 一、D触发器二、verilog源码三、综合及仿真结果一、D触发器 本文介绍数字逻辑电路中常用的基础时序逻辑电路触发器。它有记忆和存储信息功能,触发器是边沿触发电路。 下图是触发器常用表示方式(时钟上升沿有效): 触发器由两个锁存器组成,前级是主锁存器,后级…

python爬取天气数据并做可视化分析

数据采集逻辑 数据schema 历史天气数据schema { ‘当日信息’:2023-01-01 星期日, 最高气温: 8℃, 最低气温: 5℃, ‘天气’: 多云, 风向信息:北风 3级 } 数据爬取 1.导入库 import numpy as np import pandas as pd import requests from bs4 import BeautifulSoup…

什么是指针碰撞

程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》&…

postgresql数据库中update使用的坑

简介 在数据库中进行增删改查比较常见,经常会用到update的使用。但是在近期发现update在oracle和postgresql使用却有一些隐形区别,oracle 在执行update语句的时候set 后面必须跟着1对1的数据关联而postgresql数据库却可以一对多,这就导致数据…

LabVIEW中如何达到NI SMU最大采样率

LabVIEW中如何达到NI SMU最大采样率 NISMU的数字化仪功能对于捕获SMU详细的瞬态响应特性或表征待测设备(DUT)响应(例如线性调整率和负载调整率)至关重要。没有此功能,将需要一个外部示波器。 例如,假设在…