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

MySQL优化----非查询SQL优化

一、概述

首先,对于查询语句,采取的优化方式是添加索引,采用explain来查看执行性能和索引使用情况。而对于其他类型的sql语句,则有不同的方式。

插入优化:

        1.首先,插入数据时尽量多条数据一同插入,这样可以减少网络开销,但是也不能太多,太多又会造成数据库服务器阻塞,一般不超过1000条数据。

        2.在插入时尽量手动提交事务,在自动提交的情况下,每执行一个insert语句都会视为一个事务,采用手动提交的方式,可以将多个语句放到一个事务中,减少了系统的性能开销。

        3.在插入时尽量按照主键顺序插入。

        4.在大量插入时,使用load命令。load命令的使用格式如下:

假如有一个text文件或者其他文件,里面有大量数据:

注意的是,在MySQL8.0以后,开启了secure_file_priv,在使用时需要将文件放到指定的目录下才行,使用 show variables like ‘secure_file_priv’来查看MySQL指定的安全目录。

之后,使用 load data infile ‘文件的地址’ into table 表名 fields terminated ‘文件数据之间分割的符号,比如‘,’’ lines terminated ‘数据行之间的分割符,如‘\n’’  ignor n lines(忽略前n行)( first_name, last_name, email, hire_date, salary );(列映射)

主键优化:

1.在满足业务要求的情况下,尽量使用更短的主键。

2.尽量顺序插入,否则在主键插入时发生页分裂,造成资源浪费。

3.尽量使用auto_increment主键。

4.在业务中尽量不去动主键。

Order By优化:

1.根据排序字段建立合适的索引,多字段排序时,要遵循最左前缀法则。

2.尽量使用覆盖索引。

3.多字段排序时,要注意升序降序。

4.大量数据排序时,若不可避免使用filesort时,可以手动增大sort_buffer_size来增大缓冲区。

Group By优化:

1.在分组操作时,可以通过索引来优化效率。

2.在分组操作时,索引的使用也是满足最左前缀法则的。

Limit优化:

在limit中,最常见的问题是limit 2000000,10。这时候数据库需要加载前2000010条数据,但是我们只需要2000000-2000010,前面的数据是无效加载。

优化思路:可以通过覆盖索引加子查询的方式来优化:

假如创建了一个tab_name_no的索引:

select  s.name,s.no from table s ,(select id from table a limit 2000000,10) where s.id = a.id;

这样的话,前2000000数据就只加载了id,减少了性能损耗。

count优化:

按照效率排名,count(字段)<count(主键Id)<count(1) 近似于count(*),所以使用时尽量使用count(*)。

updata优化:

在进行更新时,一定要使用有索引的列,负责MySQL的行锁会升级为表锁。

http://www.dtcms.com/a/439240.html

相关文章:

  • 影视网站代理徐州市经济技术开发区建设局网站
  • 基于单片机的三相逆变电源设计
  • Python基础入门例程92-NP92 公式计算器
  • MyCat实现分库分表
  • 宿迁网站建设公司宣传海报制作
  • 中铁中基建设集团网站品牌形象网站源码
  • 中医院网站源码传智黑马培训机构
  • python全栈(基础篇)——day01:环境准备(python解释器安装+pycharm专业版的下载+vscode编辑器+汉化设置)
  • CodeForces Round 1054(div.3)C题
  • 南宁网站建设制作定制seo搜索引擎优化招聘
  • 3.java常用类知识点
  • 费马小定理证明
  • 建设中网站源码微信小程序怎么注册申请
  • iis7.5 没有默认网站彩票网站代理
  • 汇编语言Debug工具与常用指令完全指南
  • wordpress 托管建站有了公网ip如何做网站
  • 网站的费用多少合肥网站开发建设
  • 零基础学习做网站蚌埠做网站建设费用
  • 麒麟系统安装后添加自启动
  • 网站底部备案号悬挂佛山木工机械厂骏域网站建设专家
  • 顺序表专题
  • 网站 备案 中国 名字微网站模板代码
  • ASP.NET Core Web API 中控制器操作的返回类型及Swagger
  • AI模型测评平台工程化实战十二讲(第六讲:大模型测评系统:智能模型管理模块的设计与实现)
  • 手写MyBatis第90弹:动态SQL测试策略与验证方法
  • 比较有名的公司网站网站建设犀牛云
  • 网站备案 企业备案响应式博客wordpress
  • AI 重塑实体经济:2025 传统产业转型的南通实践启示
  • 番禺建设网站平台网站建设所需要的内容
  • 网站每年续费费用南通制作网站