国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MySQL批量更新的四種方法

這篇具有很好參考價(jià)值的文章主要介紹了MySQL批量更新的四種方法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

mysql 批量更新,數(shù)據(jù)庫(kù),mysql,mysql,數(shù)據(jù)庫(kù),mybatis

最近做一個(gè)需求,更新3w條數(shù)據(jù),一個(gè)一個(gè)update去更新的,結(jié)果花了80分鐘,這樣性能上很差,也容易阻塞,所以就找了一些MySQL批量更新的方式,在此記錄一下

方法一;replace into

這種更新會(huì)將其它字段更新為默認(rèn)值,因?yàn)樗窍葘⒅貜?fù)記錄刪掉再更新,謹(jǐn)慎使用

1

2

replace into `user` (id,age) values (1,'2'),(2,'3'),(3,'4'),(4,'98');

-- > 時(shí)間: 0.038s

方法二:insert into [table] values… on duplicate key update

這種方式應(yīng)該也是刪掉記錄,再更新,但是保存的原來(lái)的其它字段數(shù)據(jù),所以其它字段不會(huì)改變

1

2

insert into `user`(id,age) values (1,'5'),(2,'7'),(3,'2'),(4,'198') on duplicate key update age=values(age)

-- > > 時(shí)間: 0.017s

方法三:創(chuàng)建臨時(shí)表

創(chuàng)建臨時(shí)表,將更新數(shù)據(jù)插入臨時(shí)表,再執(zhí)行更新,需要有建表權(quán)限

1

2

3

4

5

6

7

8

9

10

11

DROP TABLE if EXISTS tmp;

-- > 時(shí)間: 0.016s

create temporary table tmp(id int(4) primary key,age varchar(50));

-- > 時(shí)間: 0.01s

insert into tmp values? (1,'13'), (2,'16'),(3,'18'),(4,'18');

-- > 時(shí)間: 0.009s

update `user`, tmp set `user`.age=tmp.age where `user`.id=tmp.id;

-- > 時(shí)間: 0.022s

方法四:使用MySQL自帶批量更新語(yǔ)句

1

2

3

4

5

6

7

8

9

10

11

12

13

update `user`

????set age = CASE id

????WHEN 1 THEN '22'

????WHEN 2 THEN '22'

????WHEN 3 THEN '22'

????WHEN 4 THEN '22'

END WHERE id IN(1,2,3,4);

-- > 時(shí)間: 0.015s

update (表名)

set (更新字段) = case (被更新字段)

when (被更新字段值) then (更新字段值)...

end where (被更新字段) in((被更新字段值)...)

舉例說(shuō)明:set age = CASE id WHEN 1 THEN ‘22’

簡(jiǎn)單來(lái)說(shuō)就是以id為查詢(xún)條件,當(dāng)id=1時(shí)更新age=22,where語(yǔ)句提高了sql的執(zhí)行效率,先過(guò)濾需要修改的記錄然后再更新。

總結(jié)

到此這篇關(guān)于MySQL批量更新的四種方式的文章就介紹到這了,希望可以對(duì)你有所幫助。

來(lái)源:微點(diǎn)閱讀??https://www.weidianyuedu.com文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-579670.html

到了這里,關(guān)于MySQL批量更新的四種方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • MySQL與ES數(shù)據(jù)同步的四種方案及實(shí)踐演示

    MySQL與ES數(shù)據(jù)同步的四種方案及實(shí)踐演示

    也就是同步調(diào)用,這是一種最為簡(jiǎn)單的方式,在將數(shù)據(jù)寫(xiě)到mysql時(shí),同時(shí)將數(shù)據(jù)寫(xiě)到ES。 1.業(yè)務(wù)邏輯簡(jiǎn)單 2實(shí)時(shí)性高 1.硬編碼,有需要寫(xiě)入mysql的地方都需要添加寫(xiě)入ES的代碼 2.業(yè)務(wù)強(qiáng)耦合 3.存在雙寫(xiě)失敗丟數(shù)據(jù)風(fēng)險(xiǎn) 4.性能較差:本來(lái)mysql的性能不是很高,再加一個(gè)ES,系統(tǒng)的性

    2024年02月09日
    瀏覽(38)
  • 【mysql】事務(wù)的四種特性的理解

    【mysql】事務(wù)的四種特性的理解

    ??個(gè)人主頁(yè):平凡的小蘇 ??學(xué)習(xí)格言:命運(yùn)給你一個(gè)低的起點(diǎn),是想看你精彩的翻盤(pán),而不是讓你自甘墮落,腳下的路雖然難走,但我還能走,比起向陽(yáng)而生,我更想嘗試逆風(fēng)翻盤(pán) 。 ?? Mysql專(zhuān)欄 : Mysql內(nèi)功修煉基地 家人們更新不易,你們的??點(diǎn)贊??和?關(guān)注?真的對(duì)我

    2024年02月12日
    瀏覽(23)
  • MySQL在Linux上的四種安裝方式

    MySQL在Linux上的四種安裝方式

    目錄 前言 一、倉(cāng)庫(kù)安裝 二、本地安裝 三、容器安裝 四、源碼安裝 博主的配置信息: Windows版本:Win10 VMware虛擬機(jī)版本:Vmware Workstation Pro 17 Linux版本:Red Hat Enterprise Linux 9.1 MySQL版本:MySQL Community Server 8.0.32 保證Linux的正常聯(lián)網(wǎng)以及配置yum倉(cāng)庫(kù)。 可以在MySQL官網(wǎng)地址:https:

    2024年01月23日
    瀏覽(21)
  • 【數(shù)據(jù)庫(kù)的四種隔離級(jí)別】

    在關(guān)系型數(shù)據(jù)庫(kù)中,隔離級(jí)別是指多個(gè)事務(wù)并發(fā)執(zhí)行時(shí),彼此之間的隔離程度。數(shù)據(jù)庫(kù)的四種隔離級(jí)別如下: 最低級(jí)別的隔離級(jí)別,一個(gè)事務(wù)可以讀取到另一個(gè)事務(wù)未提交的數(shù)據(jù),可能會(huì)出現(xiàn)臟讀、不可重復(fù)讀和幻讀等問(wèn)題。 一個(gè)事務(wù)只能讀取到另一個(gè)事務(wù)已經(jīng)提交的數(shù)據(jù)

    2024年02月13日
    瀏覽(61)
  • MySQL入門(mén)必備:Linux中部署MySQL環(huán)境的四種方式詳解

    MySQL入門(mén)必備:Linux中部署MySQL環(huán)境的四種方式詳解

    目錄 一、倉(cāng)庫(kù)安裝 二、本地安裝 三、Docker中安裝 四、源碼安裝 首先需要下載mysql軟件包: 1、進(jìn)入MySQL官網(wǎng) 2、進(jìn)入MySQL社區(qū)版下載 3、使用yum方式下載MySQL 4、下載對(duì)應(yīng)版本的軟件包 5、這里可以不登錄直接下載軟件包 6、復(fù)制下載鏈接 7、然后進(jìn)入到linux命令行中使用命令下

    2024年02月07日
    瀏覽(22)
  • 數(shù)據(jù)庫(kù)事務(wù)的四種隔離級(jí)別

    事務(wù) 數(shù)據(jù)庫(kù)事務(wù)(簡(jiǎn)稱(chēng):事務(wù))是數(shù)據(jù)庫(kù)管理系統(tǒng)執(zhí)行過(guò)程中的一個(gè)邏輯單元,由一個(gè)有限的數(shù)據(jù)庫(kù)操作序列構(gòu)成?!S基百科 簡(jiǎn)而言之:一系列數(shù)據(jù)庫(kù)操作語(yǔ)句組成事務(wù)。 數(shù)據(jù)庫(kù)事務(wù)的隔離級(jí)別有四種: 讀未提交(Read Uncommitted):事務(wù)中的修改可以被其他事務(wù)讀取,

    2024年02月04日
    瀏覽(28)
  • MySQL如何實(shí)現(xiàn)數(shù)據(jù)批量更新

    最近需要批量更新大量數(shù)據(jù),習(xí)慣了寫(xiě)sql,所以還是用sql來(lái)實(shí)現(xiàn),下面這篇文章主要給大家總結(jié)介紹了關(guān)于MySQL批量更新的方式,需要的朋友可以參考下 這種場(chǎng)景直接通過(guò)update語(yǔ)句更新即可,如: 1 UPDATE t_sys_user SET ` desc ` = \\\'CaseWhen-0\\\' WHERE id IN (1001,1002,1003); 循環(huán)遍歷逐條更新 這種方

    2024年02月07日
    瀏覽(15)
  • MySQL 更新數(shù)據(jù) 不同條件(批量)更新不同值

    MySQL 更新數(shù)據(jù) 不同條件(批量)更新不同值

    一般在更新時(shí)會(huì)遇到以下場(chǎng)景:1.全部更新;2.根據(jù)條件更新字段中的某部分內(nèi)容;3.根據(jù)不同的條件更新不同的值,以下是幾種場(chǎng)景中常用的update方法。 (1)根據(jù)條件更新值 根據(jù)指定條件更新(多列)(全部更新) 把表中 [符合條件的行的] 列名1字段中的值全部修改為值1 [,

    2023年04月16日
    瀏覽(20)
  • MySQL的四種安裝方式(新手必看、詳解、保姆級(jí)教程)

    MySQL的四種安裝方式(新手必看、詳解、保姆級(jí)教程)

    MySQL是一個(gè) 關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng) , 由瑞典MySQL AB?公司開(kāi)發(fā),屬于?Oracle?旗下產(chǎn)品。MySQL 是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一,在?WEB?應(yīng)用方面,MySQL是最好的?RDBMS?(Relational Database Management System,關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)) 應(yīng)用軟件之一。 MySQL是一種關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)

    2024年02月20日
    瀏覽(23)
  • 記一次批量更新mysql數(shù)據(jù)過(guò)程

    記一次批量更新mysql數(shù)據(jù)過(guò)程

    一、前言 需求背景:mysql數(shù)據(jù)庫(kù)中有一個(gè)表的數(shù)據(jù)(600多萬(wàn))有一個(gè)字段的內(nèi)容需要解密再通過(guò)另外一種加密方式進(jìn)行加密再回存。通過(guò)java程序計(jì)算完成更新。 二、方案一 一條條計(jì)算更新。這里是將手機(jī)號(hào)解密,在通過(guò)另外一種方式回存。 算法步驟: 1、查詢(xún)需要解密的數(shù)

    2024年02月10日
    瀏覽(19)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包