MySQL insert 插入优化技巧,MySQL 优化学习第8天_insert操作时索引-程序员宅基地

技术标签: python  数据库优化指南  精彩技术文  mysql  插入优化insert  数据库优化  数据库插入优化  

本篇博客主要优化 MySQL 中的插入操作,核心实现 insert 优化任务。

插入数据

** load data infile 导入数据**
使用上述命令,可以大幅度提高批量插入数据。
如果希望使用该命令,可以用 show 命令进行测试

show variables like '%infile%'

在这里插入图片描述

使用批量插入
如果希望一次性插入多条数据,可以使用一条 insert 语句,然后拼接多行数据。

insert into 表名 values(...),(...),(...)

禁用唯一检查
在插入数据时,可以临时取消唯一性校验,具体办法是在插入前执行下述命令

set unique_checks = 0

插入完毕之后在打开

set unique_checks = 1

禁用外键检查
与上述逻辑一致,相关命令如下所示。

set foreign_key_checks = 0
set foreign_key_checks = 1

禁止自动提交
禁止事务自动提交

set autocommit = 0
set autocommit = 1

禁用索引
临时性关闭索引

alter table 表名 disable keys

执行完毕打开索引

alter table 表名 enable keys

从配置的角度进行修改

bulk_insert_buffer_size 缓存大小,默认 8M,可以提高。

show variables like 'bulk_insert%'

在这里插入图片描述

这个参数只能对 MyISAM 使用, innodb 无效。

max_allowed_packet 接受的数据包大小,默认为 16M,可以提高。

show variables like 'max_all%'

在这里插入图片描述

net_buffer_length 通信时缓存数据的大小,最小4k,最大16M,默认是1M。

show variables like 'net_buffer_length'

在这里插入图片描述

其它可学习内容

尽量在事务中进行插入操作
MySQL 默认每次进行 insert 操作时,都会创建一个事务,所以我们提前将批量插入操作放置到事务中,可以提高效率。

START TRANSACTION; 
insert into 表名 values(...),(...),(...);
insert into 表名 values(...),(...),(...);
insert into 表名 values(...),(...),(...);
COMMIT;

感兴趣的化 订阅一下 《Python爬虫120》

橡皮擦的第 595 篇原创博客。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hihell/article/details/122650951

智能推荐

解决:IIS 假死,运行一段时间服务器上所有网站打不开,必须要重启服务器才行,重启IIS都没用。怎么解决,解决方案_iis假死-程序员宅基地

文章浏览阅读1.4w次,点赞2次,收藏34次。tip:我服务器问题是 每个5-6天后,服务器上的所有网站都不能访问,重启IIS无用,必须重启服务器!后,请教周华伟周经理后,找到解决方案如下:第一原因:这是程序池造成的,网站运行时,造成服务器CPU使用过大,引起的IIS假死。已知造成原因,就可以找到解决办法!第二解决:IIS》应用程序池》打开后在右侧窗口“选择网站程序池”(例如www.xiaoxiongyoupin.com)..._iis假死

Spark-Streaming+Kafka+mysql实战示例_使用sparkstreaming与kafka完成简单案例截图-程序员宅基地

文章浏览阅读655次。本文将介绍一个使用Spark Streaming和Kafka进行实时数据处理的示例。通过该示例,读者将了解到如何使用Spark Streaming和Kafka处理实时数据流,以及如何将处理后的数据保存到MySQL数据库中。示例涵盖了从环境搭建到代码实现的全过程,帮助读者快速上手实时数据处理的开发。Spark Streaming是Apache Spark的一个组件,用于实时流数据处理。它提供了高级别的API,可以使用类似于批处理的方式处理实时数据流。_使用sparkstreaming与kafka完成简单案例截图

长虹电视刷机固件包汇总_长虹刷机包-程序员宅基地

文章浏览阅读7w次,点赞22次,收藏50次。为了解决部分朋友因应用引起的电视死机、无法开机、系统被破坏等情形,快客服务特开此帖为朋友们提供刷机方法,但刷机有风险,如完全不懂刷机技巧的朋友需要谨慎操作,用户自行刷机所产生问题自行负责,推荐联系售后上门服务。 下面是按照电视机型、刷机方式、刷机包链接这样的方式提供的(目前暂放热门型号刷机教程)。 ..._长虹刷机包

三分经典例题与真题集合-程序员宅基地

文章浏览阅读618次,点赞4次,收藏4次。超多三分经典例题!

脑电波-使用意念说话-程序员宅基地

文章浏览阅读1.7w次,点赞11次,收藏33次。本人菜鸟一个,程序不够完美,第一次写博客有很多漏洞,希望谅解!!!硬件清单:LCD12864,ARDUINO MEGA2560,蓝牙模块,脑电波传感器,usb音响,树莓派3功能解释:从脑电波模块中解析出人脑数据,实时切换字母,集中注意力采集目标值,目标值通过蓝牙发送给树莓派进行语音合成。简单点说:用意念说话,根据你的生物电信号解析出信息,使用语音合成与人交流存在bug,需要锻炼人的...

【数据增强】——弹性变形(Elastic Distortion)_数据增强随机弹性变换-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏31次。转载自:https://zhuanlan.zhihu.com/p/342274228作者:ChenCver可能应用场景线性场景的语义分割文字识别随笔弹性变形的第二个步骤,和现在语义分割中流行的可学习光流上采样SFnet,采用神经网络来学习随机变化的随机场。1. 前言弹性变形数据增强,本人在看Unet论文时第一次接触到,工作中,经常用到语义分割解决问题,发现在针对线分割的问题,经常都会出现中间断裂的情况。后期经过不断工程验证,发现弹性变形这种数据增强有助于解决该问题,弹性变形论文最早是._数据增强随机弹性变换

随便推点

第十二章: 部署Django-程序员宅基地

文章浏览阅读171次。本章包含创建一个django程序最必不可少的步骤 在服务器上部署它如果你一直跟着我们的例子做,你可能正在用runserver但是runserver要部署你的django程序,你需要挂接到工业用的服务器 如:Apache 在本章,我们将展示如何做,但是,在做之前我们要给你一个(要做的事的)清单.准备你的代码库很幸运,runserver但是,在开始前,有一些**..._page is unavailable due to a server hiccup.

[Excel知识技能] Txt文件数据批量导入Excel_excel批量导入txt-程序员宅基地

文章浏览阅读6.9k次,点赞4次,收藏18次。本文主要讲解Txt文件数据批量导入Excel操作Excel操作版本:Excel2010(中国台湾版) | Excel2019版_excel批量导入txt

Oracle VM VirtualBox VBoxManage 修改虚拟机分辨率 超大分辨率_oracle vm virtualbox 分辨率 修改-程序员宅基地

文章浏览阅读4.4k次。1.全局设置-显示-修改最大分辨率2.安装扩展功能包3. VBoxManage controlvm “虚拟机名称” setvideomodehint 1920 5000 32_oracle vm virtualbox 分辨率 修改

[Python3] 关于Bytes与String 写文件遇到的编码问题_python 将bytes类型字节流写入文件中乱码-程序员宅基地

文章浏览阅读3.8k次。背景最近在做一个基于python3的项目,在做到文件解码组装这一块的时候遇到了一些问题。大概问题描述是这样的。bytes:string encode:decodepython字符串函数用法大全链接decode()函数描述:以 encoding 指定的编码格式解码字符串,默认编码为字符串编码。encoding ——要使用的编码,如:utf-8,gb2312,cp936,gbk等。er..._python 将bytes类型字节流写入文件中乱码

行走结构部分设计 拨叉夹具设计 洗瓶机机构设计 冲压式蜂窝煤成型机设计 液压机械手设计 送料机械手设计 控机床上下料机械手设计 机械手设计 机械手夹持器设计 多功能气压机械手设计 解放牌汽车传动轴突缘-程序员宅基地

文章浏览阅读103次。机械手-两足行走机器人(说明书+CAD图纸+开题报告+任务书+外文翻译+答辩PPT+电路图+伺服电机控制软件。机械手-工业机械手模型-基于PLC的控制系统软硬件设计(论文+CAD图纸+外文翻译+开题报告+文件综述……机械手-自动送料机械手的设计【说明书(论文)+CAD图纸+液压系统+开题报告+外文翻译+答辩ppt)机械手-液压机械手设计(说明书+CAD图纸+SolidWorks三维图+开题报告+任务书+文献)机械手-机械手设计(论文+CAD图纸+开题报告+任务书+接线图+液压系统图+外文翻译。

什么是js中的事件循环_js中事件循环的理解-程序员宅基地

文章浏览阅读643次。JavaScript中的事件循环是一种机制,用于处理异步任务和事件处理程序。事件循环的基本原理是,JavaScript引擎在空闲时等待事件的到来,然后将事件添加到事件队列中。事件循环会不断地检查队列中是否有事件,如果有,则会将事件取出并执行相应的回调函数。事件循环采用单线程模型,因此只有在当前事件处理程序执行完毕后,才能执行下一个事件处理程序。这种机制确保了JavaScript中的代码执行顺序和可预测性。_js中事件循环的理解

推荐文章

热门文章

相关标签