问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于多线程对mysql数据库插入操作的一个疑问。

发布网友 发布时间:2022-04-09 02:41

我来回答

3个回答

懂视网 时间:2022-04-09 07:02

1、如果同时从同一个客户端插入很多行,使用含多个 VALUE的INSERT语句同时插入几行。这比使用单行INSERT语句快(在某些情况下快几倍)。如果你正向一个非空表添加数据,可以调节 bulk_insert_buffer_size变量,使数据插入更快。参见5.3.3 节,“服务器系统变量”。

2、如果你从不同的客户端插入很多行,能通过INSERT DELAYED语句加快速度。参见13.2.4 节,“INSERT语法”。

3、用MyISAM,如果在表中没有删除的行,能在SELECT语句正在运行的同时插入行。

4、当从一个文本文件装载一个表时,使用LOAD DATA INFILE。这通常比使用很多INSERT语句快20倍。参见13.2.5 节,“LOAD DATA INFILE语法”。

5、当表有很多索引时,有可能要多做些工作使得LOAD DATA INFILE更快些。使用下列过程:

1). 有选择地用CREATE TABLE创建表。
2). 执行FLUSH TABLES语句或命令mysqladmin flush-tables。
3). 使用myisamchk --keys-used=0 -rq /path/to/db/tbl_name。这将从表中取消所有索引的使用。
4). 用LOAD DATA INFILE把数据插入到表中,因为不更新任何索引,因此很快。
5). 如果只想在以后读取表,使用myisampack压缩它。参见15.1.3.3 节,“压缩表特性”。
6). 用myisamchk -r -q /path/to/db/tbl_name重新创建索引。这将在写入磁盘前在内存中创建索引树,并且它更快,因为避免了大量磁盘搜索。结果索引树也被完美地平衡。
7). 执行FLUSH TABLES语句或mysqladmin flush-tables命令。

6、锁定表可以加速用多个语句执行的INSERT操作:

* LOCK TABLES a WRITE;
* INSERT INTO a VALUES (1,23),(2,34),(4,33);
* INSERT INTO a VALUES (8,26),(6,29);
* UNLOCK TABLES;

这样性能会提高,因为索引缓存区仅在所有INSERT语句完成后刷新到磁盘上一次。一般有多少INSERT语句即有多少索引缓存区刷新。如果能用一个语句插入所有的行,就不需要锁定。

对于事务表,应使用BEGIN和COMMIT代替LOCK TABLES来加快插入。

MYSQL之插入极限

标签:

热心网友 时间:2022-04-09 04:10

数据库有自己的连接锁机制,如果是针对同一台机器使用同一个接口进行插入的话多线程和单线程是一样的。除非你有好几台数据库服务器,这样再使用多线程来进行上面的工作的话效率才会明显提高。

热心网友 时间:2022-04-09 05:28

在MySQL 8.0 之前, 我们假设一下有一条烂SQL,

mysqlselect * from t1 order by rand() ;

以多个线程在跑,导致CPU被跑满了,其他的请求只能被阻塞进不来。那这种情况怎么办? 


大概有以下几种解决办法:

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦见好多鱼在水里活蹦乱跳 教你如何将让reaver PIN 进度随意更改精确前四位 求个保存PIN进度的方法 ...不上外接键盘,但鼠标一直有用,谁能告诉我怎么回事,先谢了。。_百度... 相机SD卡,卡上图片电脑显示不出来 相机SD卡用读卡器插到电脑上DCIM文件夹不显示照片怎么解决? win10查询错误日志的方法-win10怎么查询错误日志 电脑系统日志文件如何查看电脑里的系统日志 电脑事件日志在哪里看怎样查看电脑使用的日志 win11系统日志在哪里看 win11系统日志怎么看 移动工信部的投诉电话是多少? 工信部电话多少,投诉移动? 试述传统债卷投资的风险? 高中肄业证书可以算作具有高中同等学历,然后参加普通高考吗? 高中肄业证可以用来参加普通高考吗 高中结业证有什么影响? mysql可以支持多少数据量的插入和修改操作 我的手机卡是电信,有4G网络,没有2G网络 电信2、3、4g网络模式分别是什么? 谁详细说明 一下,中国移动 中国联通 中国电信的2G 3G 4G网络的网络制式分别是什么? 经常运动的人为什么皮肤很好? 为什么早上刚起床的时候皮肤特别的好呢? 女朋友或男朋友皮肤超级好是什么体验? 很多人为什么不护肤反而皮肤很好? 为什么有的人不用化妆品皮肤还那么好? 近现代中国绘画大师,齐白石是一位以画什么为主的画家? 形容皮肤很好的词语有哪些? 法国有哪些浪漫主义绘画大师? 为什么女明星的皮肤那么好呢? 倪云林是哪个朝代的绘画大师? 多啦A梦剧场版那些最受欢迎 如何选择镜前灯的大小? 镜前灯的规格 宾馆镜前灯尺寸 90cm的浴室镜配多少尺寸的镜前灯? 镜前灯长度与镜柜宽度关系 LED镜前灯怎么选 LED镜前灯选购注意事项 如何选择镜前灯? 一米的镜子放多大的镜前灯合适 镜前灯是紧贴镜子上方安装还是空出一定的距离装好,空多大距离合适呀。谢谢 浴室镜前灯如何选择?检测光源是关键 镜前灯的选择技巧有很多,都有什么呢? 镜前灯预留线标准高度是多少? 洗脸台镜前灯怎么布线 镜前灯有必要吗?镜前灯又该如何选择? 卫生间的尺寸该怎么衡量? 百度网盘300g 压缩包怎么解压? 资本主义是人类创造了资本这个意化物,再反过来使人意化为劳动要素。(说法正确与否) 社会发展是资本主义走向社会主义还是反过来的?为什么大多国人会乐于奔向资本主义? 马克思政治经济学研究经济问题的现实起点是什么?