MySQL高级-SQL优化-insert优化-批量插入-手动提交事务-主键顺序插入

文章目录

  • 1、批量插入
    • 1.1、大批量插入数据
    • 1.2、启动Linux中的mysql服务
    • 1.3、客户端连接到mysql数据库,加上参数 --local-infile
    • 1.4、查询当前会话中 local_infile 系统变量的值。
    • 1.5、开启从本地文件加载数据到服务器的功能
    • 1.6、创建表 tb_user 结构
    • 1.7、上传文件到 /root
    • 1.8、查看 是否 上传成功
    • 1.9、查看 load_user_100w_sort.sql 文件前十行数据
    • 1.10、执行load指令将准备好的数据,加载到表结构中
  • 2、手动提交事务
  • 3、主键顺序插入

1、批量插入

insert into tb_test values(1,'Tom'),(2,'Cat'),(3,'Jerry');

1.1、大批量插入数据

在这里插入图片描述

如果一次性需要插入大批量数据,使用insert语句插入性能较低,此时可以使用MySQL数据库提供的load指令进行插入。

1.2、启动Linux中的mysql服务

[root@localhost ~]# ps -ef | grep mysql
root       4013   2155  0 19:14 pts/0    00:00:00 grep --color=auto mysql
[root@localhost ~]# systemctl start mysqld
[root@localhost ~]# ps -ef | grep mysql
mysql      4054      1 24 19:15 ?        00:00:01 /usr/sbin/mysqld
root       4112   2155  0 19:15 pts/0    00:00:00 grep --color=auto mysql
[root@localhost ~]# 

1.3、客户端连接到mysql数据库,加上参数 --local-infile

[root@localhost ~]# mysql --local-infile -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.30 MySQL Community Server - GPLCopyright (c) 2000, 2022, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> 

1.4、查询当前会话中 local_infile 系统变量的值。

mysql> create database atguigu;
Query OK, 1 row affected (0.01 sec)mysql> select @@local_infile;
+----------------+
| @@local_infile |
+----------------+
|              0 |
+----------------+
1 row in set (0.00 sec)mysql>

1.5、开启从本地文件加载数据到服务器的功能

mysql> set global local_infile=1;
Query OK, 0 rows affected (0.00 sec)mysql> select @@local_infile;
+----------------+
| @@local_infile |
+----------------+
|              1 |
+----------------+
1 row in set (0.00 sec)mysql>

1.6、创建表 tb_user 结构

mysql> use atguigu;
Database changed
mysql> CREATE TABLE `tb_user` (->   `id` INT(11) NOT NULL AUTO_INCREMENT,->   `username` VARCHAR(50) NOT NULL,->   `password` VARCHAR(50) NOT NULL,->   `name` VARCHAR(20) NOT NULL,->   `birthday` DATE DEFAULT NULL,->   `sex` CHAR(1) DEFAULT NULL,->   PRIMARY KEY (`id`),->   UNIQUE KEY `unique_user_username` (`username`)-> ) ENGINE=INNODB DEFAULT CHARSET=utf8 ;
Query OK, 0 rows affected, 2 warnings (0.06 sec)mysql> show tables;
+-------------------+
| Tables_in_atguigu |
+-------------------+
| tb_user           |
+-------------------+
1 row in set (0.00 sec)mysql>

1.7、上传文件到 /root

在这里插入图片描述

1.8、查看 是否 上传成功

[root@localhost ~]# ll
总用量 56504
-rw-------. 1 root root     1533 124 2023 anaconda-ks.cfg
-rw-r--r--. 1 root root      191 625 13:29 dump6379.rdb
-rw-r--r--. 1 root root      191 625 13:31 dump6380.rdb
-rw-r--r--. 1 root root      191 625 13:32 dump6381.rdb
-rw-r--r--. 1 root root      583 624 11:13 dump.rdb
-rw-r--r--. 1 root root     1564 124 2023 initial-setup-ks.cfg
-rw-r--r--. 1 root root 57650380 222 2022 load_user_100w_sort.sql
drwxr-xr-x. 3 root root       18 18 18:11 minio
-rw-r--r--. 1 root root      141 625 17:00 nodes-6379.conf
-rw-------. 1 root root   178567 63 13:50 nohup.out
drwxr-xr-x. 2 root root        6 124 2023 公共
drwxr-xr-x. 2 root root        6 124 2023 模板
drwxr-xr-x. 2 root root        6 124 2023 视频
drwxr-xr-x. 2 root root        6 124 2023 图片
drwxr-xr-x. 2 root root        6 124 2023 文档
drwxr-xr-x. 2 root root        6 124 2023 下载
drwxr-xr-x. 2 root root        6 124 2023 音乐
drwxr-xr-x. 2 root root        6 124 2023 桌面
[root@localhost ~]# 

在这里插入图片描述

1.9、查看 load_user_100w_sort.sql 文件前十行数据

[root@localhost ~]# head load_user_100w_sort.sql 
1,jdTmmKQlwu1,jdTmmKQlwu,jdTmmKQlwu,2020-10-13,1
2,BTJOeWjRiw2,BTJOeWjRiw,BTJOeWjRiw,2020-6-12,2
3,waQTJIIlHI3,waQTJIIlHI,waQTJIIlHI,2020-6-2,0
4,XmeFHwozIo4,XmeFHwozIo,XmeFHwozIo,2020-1-11,1
5,xRrvQSHcZn5,xRrvQSHcZn,xRrvQSHcZn,2020-10-18,2
6,gTDfGFNLEj6,gTDfGFNLEj,gTDfGFNLEj,2020-1-13,0
7,nBETIlVCle7,nBETIlVCle,nBETIlVCle,2020-9-27,1
8,vmePKKZjJU8,vmePKKZjJU,vmePKKZjJU,2020-10-20,2
9,pWjaLhJVaB9,pWjaLhJVaB,pWjaLhJVaB,2020-5-7,0
10,zimgGFPEQe10,zimgGFPEQe,zimgGFPEQe,2020-8-1,1
[root@localhost ~]# 

1.10、执行load指令将准备好的数据,加载到表结构中

mysql> load data local infile '/root/load_user_100w_sort.sql' into table tb_user fields terminated by ',' lines terminated by '\n';
Query OK, 1000000 rows affected (21.47 sec)
Records: 1000000  Deleted: 0  Skipped: 0  Warnings: 0mysql> select count(*) from tb_user;
+----------+
| count(*) |
+----------+
|  1000000 |
+----------+
1 row in set (0.10 sec)mysql> 

2、手动提交事务

start transaction;
insert into tb_test values(1,'Tom'),(2,'Cat'),(3,'Jerry');
insert into tb_test values(4,'Tom'),(5,'Cat'),(6,'Jerry');
insert into tb_test values(7,'Tom'),(8,'Cat'),(9,'Jerry');
commit;

3、主键顺序插入

主键乱序插入:8 1 9 21 88 2 4 15 89 5 7 3
主键顺序插入:1 2 3 4 5 6 7 8 9 15 21 88 89
主键顺序插入性能高于乱序插入

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/368529.html

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

相关文章

HarmonyOS APP应用开发项目- MCA助手(Day01持续更新中~)

简言: gitee地址:https://gitee.com/whltaoin_admin/money-controller-app.git端云一体化开发在线文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/agc-harmonyos-clouddev-view-0000001700053733-V5 注&#xff1…

在TkinterGUI界面显示WIFI网络摄像头(ESP32s3)视频画面

本实验结合了之前写过的两篇文章Python调用摄像头,实时显示视频在Tkinter界面以及ESP32 S3搭载OV2640摄像头释放热点(AP)工作模式–Arduino程序,当然如果手头有其他可以获得网络摄像头的URL即用于访问摄像头视频流的网络地址&…

前后端分离:四种开发模式与实践指南

前后端分离:四种开发模式与实践指南 什么是前后端分离 当业务变得越来越复杂或产品线越来越多时,原有的开发模式就无法满足业务需求了。 产品越来越多,展现层的变化越来越快、越来越多,此时应该进行前后端分离的分层抽象&#…

2024攻防演练:亚信安全推出MSS/SaaS短期定制服务

随着2024年攻防演练周期延长的消息不断传出,各参与方将面临前所未有的挑战。面对强大的攻击队伍和日益严格的监管压力,防守单位必须提前进行全面而周密的准备和部署。为应对这一形势,亚信安全特别推出了为期三个月的MSS/SaaS短期订阅方案。该…

【Android面试八股文】Android性能优化面试题:怎样检测函数执行是否卡顿?

文章目录 卡顿一、可重现的卡顿二、不可重现的卡顿第一种方案: 基于 Looper 的监控方法第二种方案:基于 Choreographer 的监控方法第三种方案:字节码插桩方式第四种方案: 使用 JVMTI 监听函数进入与退出总结相关大厂的方案ArgusAPMBlockCanaryQQ空间卡慢组件Matrix微信广研参…

Asp .Net Core 系列:基于 Castle DynamicProxy + Autofac 实践 AOP 以及实现事务、用户填充功能

文章目录 什么是 AOP ?.Net Core 中 有哪些 AOP 框架?基于 Castle DynamicProxy 实现 AOPIOC中使用 Castle DynamicProxy实现事务管理实现用户自动填充 什么是 AOP ? AOP(Aspect-Oriented Programming,面向切面编程&a…

TCP、UDP详解

目录 1.区别 1.1 概括 1.2 详解 2.TCP 2.1 内容 2.2 可靠传输 2.2.1 确认应答 2.2.2 超时重传 2.2.3 连接管理 三次握手 四次挥手 2.2.4 滑动窗口 2.2.5 流量控制 2.2.6 拥塞控制 2.2.7 延时应答 2.2.8 捎带应答 2.2.9 面向字节流 2.2.10 异常情况的处理 1.…

IDEA 编译单个Java文件

文章目录 一、class文件的生成位置二、编译单个文件编译项目报错Error:java: 无效的源发行版: 8 一、class文件的生成位置 file->project structure->Modules 二、编译单个文件 选中文件,点击recompile 编译项目报错 Error:java: 无效的源发行版: 8 Fi…

ffmpeg使用png编码器把rgb24编码为png图像

version #define LIBAVCODEC_VERSION_MAJOR 60 #define LIBAVCODEC_VERSION_MINOR 15 #define LIBAVCODEC_VERSION_MICRO 100 note 不使用AVOutputFormat code void CFfmpegOps::EncodeRGB24ToPNG(const char *infile, const char *width_str, const char *height_str…

海外短剧CPS推广分佣系统平台讲解,他和短剧播放平台有啥区别?

首先来讲讲什么是海外短剧系统?什么是海外短剧cps系统?这俩有何区别? 海外短剧系统 顾名思义:就是做一套海外短剧系统,把剧放在自己的系统内,让用户来充值,充值的钱全部都是我自己的&#xff…

【区块链+基础设施】蜀信链 | FISCO BCOS应用案例

蜀信链是在四川省经济和信息化厅指导下,在四川省区块链行业协会组织下,由全省区块链相关从业与应用机构 共同参与建设和运营的区域性区块链基础设施,通过多方协同,共同打造合作共赢的区块链产业生态。 蜀信链区块链服务生态秉承“…

ubuntu24.04LTS防火墙设置

Ubuntu24.04LTS开箱自带ufw,一定程度避免了开机下载ufw被攻击,excellent 转载aliyun教程 sudo ufw enbale可以启用并且开机自启(显示有效,未nmap实测) 教程3 转载自CSDN 完整格式如下: # 禁止IP连接端口 sudo ufw deny proto tc…

CSS filter(滤镜)属性,并实现页面置灰效果

目录 一、filter(滤镜)属性 二、准备工作 三、常用的filter属性值 1、blur(px) 2、brightness(%) 3、contrast(%) 4、grayscale(%) 5、opacity(%) 6、saturate(%) 7、sepia(%) 8、invert(%) 9、hue-rotate(deg) 10、drop-shadow(h-shadow v…

java生成excel,uniapp微信小程序接收excel并打开

java引包&#xff0c;引的是apache.poi <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>5.2.3</version></dependency> 写一个测试类&#xff0c;把excel输出到指定路径 public s…

汽车电子工程师入门系列——AUTOSAR通信服务框架(下)

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

关于 lvds 屏幕的一些知识

网上的截图&#xff1a; lvds的 通道。 lvds 的协议 关于 sync 模式与 de 模式&#xff1a; ------------------------------------------------------------------------------------------------------------------ 芯片的数据手册的看法。 这个手册 &#xff0c;就指明了…

代码托管服务:GitHub、GitLab、Gitee

目录 引言GitHub&#xff1a;全球最大的代码托管平台概述功能特点适用场景 GitLab&#xff1a;一体化的开发平台概述功能特点适用场景 Gitee&#xff08;码云&#xff09;&#xff1a;中国本土化的代码托管服务概述功能特点适用场景 功能对比结论 引言 在现代软件开发中&#…

【路由交换技术】Cisco Packet Tracer基础入门教程(五)

这一期我们来学习端口聚合&#xff0c;这是针对交换机的技术 前言 不知道大家有没有注意到&#xff0c;我们之前的实验在交换机与交换机之间只用一条线连接&#xff0c;像这样 通过今天的学习&#xff0c;我们要用两条线来连接交换机&#xff0c;就像这样&#xff08;为了能…

Postman接口测试工具详解【保姆级教程】

大家好,我是CodeQi! 在我们日常的开发工作中,无论是前端还是后端,API 接口的测试都是必不可少的一环。 你有没有遇到过这样的情况:接口测试工具复杂难用,使用起来让人抓狂;或者手动构造请求效率低下,容易出错? 别担心,我今天要介绍的 Postman 工具,将会彻底改变你…

List接口, ArrayList Vector LinkedList

Collection接口的子接口 子类Vector&#xff0c;ArrayList&#xff0c;LinkedList 1.元素的添加顺序和取出顺序一致&#xff0c;且可重复 2.每个元素都有其对应的顺序索引 方法 在index 1 的位置插入一个对象&#xff0c;list.add(1,list2)获取指定index位置的元素&#…