技术标签: 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 篇原创博客。
文章浏览阅读385次。2016合流制排水管设计与计算第4章 合流制管渠系统的设计 第4章 合流制管渠系统的设计 合流制排水系统: 在同一系统内收集排除污水和雨水。 4.1 合流制管渠系统的使用条件和布置特点 1. 完全合流制-直排式合流制 设计流量: Qz = Qs + Qg + Qy = Qh + Qy (L/s) 式中 , Qz ——完全合流制设计流量; Qs ——设计生活污水量; ...
文章浏览阅读7.4k次。开发Android Library项目,需要把aar包给商户app接入,如果按照原始的方法手动给包的话,那就太low了。而且Library中dependencies和proguard等都要商户app再写一遍,这实在是和low,对于商户来说,其实只要一句简单的代码就好了。compile 'xxx.xx.xx:xxx:3.x'本文章演示如何通过在build.gradle中配置,达到自动上传library
文章浏览阅读321次。一、随机UserAgent的生成1、安装:pip install fake_useragent2、代码:from fake_useragent import UserAgentua = UserAgent()#谷歌浏览器print(ua.chrome) #firefox 火狐浏览器结果:二、phantomjs 快速入门1、驱动配置:上图红框处的意思是:没有配置之前需要添加驱动的路径,也就是phantomjs.exe所在位置。解决方法1:将驱动文件_百度贴吧图片正则表达式
文章浏览阅读181次。1.javaScript表单验证以下实例代码用于判断表单字段(fname)值是否存在,如果不存在,就弹出信息,阻止表单提交;//javascriptfunction validateForm(){ var x=document.forms["myForm"]["fname"].value; if(x==null||x==" "){ alert("需要输入名字"); return false; //阻止表单提交 }}//HTML表单实例<form name="myForm" _"javascript forms[\"myform\"][\"fname\"]"
文章浏览阅读297次。Redux配合路由使用——路由基本配置-Switch标签和和Redirect标签-路由重定向 & exact-路由精确匹配 & 根据路由参数进行列表筛选路由基本配置安装路由组件yarn add react-router-dom使用Provider包裹Routersrc/App.jsimport { BrowserRouter, Route, Switch, Redirect } from 'react-router-dom'<Provider store={s_browserrouter redirect
文章浏览阅读315次。kinect可以通过摄动摄像头不仅可以获取人脸位置旋转信息,也可以获取脸部轮廓的三维坐标可以参考插件中的场景KinectFaceTrackingDemo1-4,在kinectManager基础上需要脚本FacetrackingManager。1)通过KinectManager kinectManager = KinectManager.Instance;获取到Kinect运行实例2)通..._kinectmanger 识别人
文章浏览阅读245次。python argparse 模块利用argparse 传递参数import argparsedef parse_args(): parser = argparse.ArgumentParser(description = 'learn parse make firstly') # 参数描述 parser.add_argument('--gpu',dest = 'g..._def parse_argument(args=none): parser = argparse.argumentparser(description=
文章浏览阅读5.8k次。一、报错:error Expected indentation of 2 spaces but found 3 indent原因:像这种就是多或者少空格导致的,想上面一个就是多了一个空格。解决:将多余(缺少)的空格删除(补全)即可注意事项:如果使用过代码格式化工具,可能会很难调整对象中的参数,可以先将其禁用。二、报错:Newline required at end of file but not found eol-last原因:eslint需要文件最后有一个空号,而你没有解决:在对应文件末_expected indentation of 2 spaces but found 3
文章浏览阅读318次。文 | Parul Pandey 译 | EarlGrey数据显示,Github上有超过300万个 Jupyter Notebook 可供公开使用。私有的 Notebook 数量也大致相同。即使没有这些数据佐证,我们也非常清楚Jupyter Notebook在数据科学领域的普及程度。编写代码,检查结果,获得丰富输出的可能性,是真正使 Jupyter Notebook 受欢迎的一些功能。但据说所有好..._jupyter lab stop all
文章浏览阅读202次。编译后生成可执行文件:pcl_visualizer_demo。修改Cmakelists.txt文件,加入链接库。_pcl 可视化demo
文章浏览阅读172次。2019独角兽企业重金招聘Python工程师标准>>> ...
文章浏览阅读1w次,点赞36次,收藏156次。1下载IAR,安装破解,选择msp430版本。2.1打开IAR新建工作区,点击File菜单下的New Workspace2.2新建工程,点击Projec菜单下的Create New Project,2.3在弹出的对话框中Tool chain选择msp430(一般为默认),选择C文件夹的main,点击ok。2.4保存工程文件夹,自己命名,这样一个工程就创建完了。2.5保存工作区,F...