大数据更新速度_sql批量更新多条数据

大数据更新速度_sql批量更新多条数据现有一个Users表,两百万条数据 表信息: CREATE TABLE `Users` ( `UserID` int NOT NULL AUTO_INCREMENT, `UserName` varc…

批量更新几百万条数据,速度太慢怎么办?怎样做到优化?

表信息:

CREATE TABLE `Users` (
  `UserID` int NOT NULL AUTO_INCREMENT,
  `UserName` varchar(20) NOT NULL,
  `Age` int DEFAULT NULL,
  `Sex` tinyint DEFAULT NULL,
  `PhoneNumber` varchar(11) NOT NULL,
  `Email` varchar(20) NOT NULL,
  `IdCard` varchar(18) NOT NULL,
  `BrithDay` date DEFAULT NULL,
  `Address` tinytext,
  `Qq` char(12) DEFAULT NULL,
  `Zodiac` char(2) DEFAULT NULL,
  `Education` char(10) DEFAULT NULL,
  `Hobby` char(20) DEFAULT NULL,
  `Company` char(20) DEFAULT NULL,
  `Nation` char(5) DEFAULT NULL,
  `Marital` char(2) DEFAULT NULL,
  `Plitical` char(5) DEFAULT NULL,
  `Active` tinyint DEFAULT “0”,
  PRIMARY KEY (`UserID`)
) ENGINE=InnoDB AUTO_INCREMENT=1010101 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

要做的:把UserID中包含数字2的数据中Active值改为1.

首先创建一个临时表,把需要更改的数据插入到表中

CREATE TEMPORARY TABLE TmpUsers AS 
SELECT 
   Users.UserID
 , Users.Active 
FROM Users
WHERE Users.UserName LIKE “%2%”
;

在TmpUsers给UserID添加主键索引

ALTER TABLE TmpUsers ADD PRIMARY KEY IX_1(UserID)
;

按要求更改临时表中的数据

UPDATE TmpUsers
SET
   TmpUsers.Active = 1
WHERE TmpUsers.UserID LIKE “%2%”
;

建立临时表TmpUsers和原表Users连接

UPDATE Users
INNER JOIN TmpUsers ON Users.UserID = TmpUsers.UserID
SET Users.Active = TmpUsers.Active
;

通过建立临时表用主键索引来批量更改表信息,安全系数较高,运行速度快。不会影响原表的使用。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9818.html

(0)
上一篇 2023-01-31
下一篇 2023-01-31

相关推荐

  • Python字典获取(Get)操作的实现方法

    Python字典获取(Get)操作的实现方法Python字典是一种存储键值对的无序集合,可以通过键来访问对应的值。字典中的键必须是不可变的(不可改变的对象),如字符串、数字、元组等,而值可以是任意对象。

    2023-12-10
    113
  • 提高工作效率的Python编程技巧

    提高工作效率的Python编程技巧a href=”https://www.python100.com/a/sm.html”font color=”red”免责声明/font/a a href=”https://beian.miit.gov.cn/”苏ICP备2023018380号-1/a Copyright www.python100.com .Some Rights Reserved.

    2024-01-09
    106
  • 怎么做 HDFS 的原地平滑缩容?

    怎么做 HDFS 的原地平滑缩容?背景 当数据规模越来越大,存储成本也水涨船高。随着时间推移,数据热度分布往往呈 2⁄8 原则,即 80% 的访问集中在 20% 的数据上。对于那不经常访问的 80% 数据来说,使用多个 SSD 来存储

    2023-05-09
    157
  • 使用Python的随机shuffle方法

    使用Python的随机shuffle方法Python是一门功能强大的编程语言,拥有着丰富的库和函数,其中随机shuffle方法是其中一个实用的函数。它可以帮助我们在列表中随机打乱元素,是非常常用的函数之一。

    2024-08-09
    26
  • [20191119]探究ipcs命令输出2.txt

    [20191119]探究ipcs命令输出2.txt[20191119]探究ipcs命令输出2.txt–//继续上午的测试:http://blog.itpub.net/267265/viewspace-2664758/=>[20191119]探

    2022-12-19
    126
  • 用Python splitext方法轻松实现文件扩展名分割

    用Python splitext方法轻松实现文件扩展名分割splitext是Python中的一个内置函数,用于将文件名与文件扩展名分离,返回一个元组。splitext方法可以轻松实现文件扩展名的分割,方便用户对文件进行处理,也是Python文件处理中常用的一个方法。

    2024-03-10
    81
  • Python判断是否存在的方法

    Python判断是否存在的方法在编写Python代码时,我们通常需要判断某个元素或对象是否存在。判断是否存在是Python编程中非常重要和常用的一部分,关乎代码的正确性和可靠性。Python提供了多种方法来判断对象或元素是否存在,本文将详细介绍这些方法。

    2024-08-22
    40
  • MySQL 日期自动加1天和减1天[亲测有效]

    MySQL 日期自动加1天和减1天[亲测有效] 1、给当前日期加一天 — pre_etl_date和etl_date 均为字符串类型 UPDATE ETL_DATA SET pre_etl_date=DATE_FORMAT(STR_TO…

    2023-03-24
    146

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注