mysql進階 十五 mysql批量刪除大量資料
mysql批量刪除大量資料
假設有一個表(syslogs)有1000萬條記錄,需要在業務不停止的情況下刪除其中statusid=1的所有記錄,差不多有600萬條, 直接執行 DELETE FROM syslogs WHERE statusid=1 會發現刪除失敗,因為lock wait timeout exceed的錯誤。
因為這條語句所涉及的記錄數太多,因此我們通過LIMIT引數分批刪除,比如每10000條進行一次刪除,那麼我們可以利用 MySQL這樣的語句來完成:
DELETE FROM syslogs WHERE status=1 ORDER BY statusid LIMIT 10000;
然後分多次執行就可以把這些記錄成功刪除。
注:
執行大批量刪除的時候注意要使用上limit。因為如果不用limit,刪除大量資料很有可能造成死鎖。
如果delete的where語句不在索引上,可以先找主鍵,然後根據主鍵刪除資料庫。
平時update和delete的時候最好也加上limit 1 來防止誤操作。
再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!希望你也加入到我們人工智慧的隊伍中來!http://www.captainbed.net
相關推薦
mysql進階(十五) mysql批量刪除大量資料
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
mysql進階 十五 mysql批量刪除大量資料
mysql批量刪除大量資料 假設有一個表(syslogs)有1000萬條記錄,需要在業務不停止的情況下刪除其中statusid=1的所有記錄,差不多有600萬條, 直接執行 DELETE FROM syslogs WHERE statusi
mysql進階 十五 mysql批量刪除大量數據
lock led http cap logs 所有 family 因此 我們 mysql批量刪除大量數據 假設有一個表(syslogs)有1000萬條記錄,需要在業務不停止的情況下刪除其中statusid=1的所有記錄,差不多有600萬條, 直接執行 DELETE FRO
mysql進階 十四 批量更新與批量更新多條記錄的不同值實現方法
mysql 批量更新與批量更新多條記錄的不同值實現方法 在mysql中批量更新我們可能使用update,replace into來操作,下面詳細介紹mysql批量更新與效能。 批量更新 mysql更新語句很簡單,更新一條資料的某個欄位,一般這樣寫: UP
mysql進階(十四) 批量更新與批量更新多條記錄的不同值實現方法
mysql 批量更新與批量更新多條記錄的不同值實現方法 在mysql中批量更新我們可能使用update,replace into來操作,下面詳細介紹mysql批量更新與效能。 批量更新 mysql更新語句很簡單,更新一條資料的某個欄位,一般這樣寫: UPDATE myt
mysql進階(十七)Cannot Connect to Database Server
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
mysql進階(十九)SQL語句如何精準查詢某一時間段的資料
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
MySQL進階(五)資料型別優化
優化的資料型別 (一)更小的通常更好 更小的資料型別通常更快,因為它們佔用更少的磁碟、記憶體和CPU快取 (二)簡單就好 簡單資料型別通常需要更少的CPU週期。例如,整型比字元操作代價更低,因為字符集和校對規則使字元比整型更復雜 (三)儘量避免使用NULL 如果查詢中包含可為NULL
mysql進階 十九 SQL語句如何精準查詢某一時間段的資料
SQL語句如何精準查詢某一時間段的資料 在專案開發過程中,自己需要查詢出一定時間段內的交易。故需要在sql查詢語句中加入日期時間要素,sql語句如何實現? SELECT * FROM 
mysql進階 十九 SQL語句如何精準查找某一時間段的數據
lmap 數據 ont and 需要 class 實現 項目開發 href SQL語句如何精準查找某一時間段的數據 在項目開發過程中,自己需要查詢出一定時間段內的交易。故需要在sql查詢語句中加入日期時間要素,sql語句如何實現? SELECT *
mysql進階(十一)外來鍵在資料庫中的作用
MySQL外來鍵在資料庫中的作用 MySQL外來鍵的目的是控制儲存在外來鍵表中的資料,使兩張表形成關聯,是MySQL資料庫中非常重要的組成部分,值得我們去深入瞭解。那麼,MySQL外來鍵究竟起到哪些作用呢?下文就將帶您一探其中的祕密。MySQL外來鍵的作用
Python進階(十五)-file檔案操作
分享一下我的偶像大神的人工智慧教程!http://blog.csdn.net/jiangjunshow 也歡迎轉載我的文章,轉載請註明出處 https://blog.csdn.net/mm2zzyzzp Python進階(十五)-file檔案操作
分散式進階 十五 ZMQ
我們為什麼需要ZMQ 目前的應用程式很多都會包含跨網路的元件,無論是區域網還是因特網。這些程式的開發者都會用到某種訊息通訊機制。有些人會使用某種訊息佇列產品,而大多數人則會自己手工來做這些事,使用TCP或UDP協議。這些協議使用起來並不困難,但是,簡單地將訊息從A發給B,和在任何情況下都能進行可靠的
mysql進階 二十五 解決數據庫NO CONNECTION問題
老師 連接不上 ont inb 你會 www follow mys 參考 解決數據庫NO CONNECTION問題 前言 數據庫版本類型:Mysql5.5 在應用程序連接數據庫時,提示數據庫連接失敗。打開數據庫查看,顯示如下。 原因1:
MYSQL進階學習筆記十八:MySQL備份和還原!(視頻序號:進階_37)
back 系統 結構 生產 下載地址 family 需要 絕對路徑 isa 知識點十九:MySQL的備份的還原(38) 一、mysql的備份 1、通過使用mysqldump的命令備份 使用mysqldump命令備份,mysqldump命令將數
MySQL進階14--標識列(自增序列/auto_increment)--設置/展示步長--設置/刪除標示列
fse cat 修改表 delet 類型 bsp aaa sql 要求 /*進階14 標識列 又稱為自增序列; 含義 : 可以不用手動的插入值, 系統提供默認的序列值(1-->n) 特點 : 1.標識列必須和主鍵搭配? 不一定,但
MySQL進階19--函式的建立(舉例)/設定mysql的建立函式的許可權/檢視(show)/刪除(drop) / 舉4個栗子
/*MySQL進階19 函式 儲存過程和函式:都類似於java中的方法; 儲存過程和函式通用好處: 1.提高程式碼的重用性 2.簡化操作 好處: 減少操作次數,減少了編譯次數,減少了和伺服器的連線次數,提高了效率 --------------- #區別
mysql進階(二十二)MySQL錯誤之Incorrect string value: '\xE7\x81\xAB\xE7\x8B\x90...中文字元輸入錯誤
MySQL錯誤之Incorrect string value: '\xE7\x81\xAB\xE7\x8B\x90...' for column 'tout' at row 1中文字元輸入錯誤 在實驗過程中需要將輸出引數寫入資料庫,在寫的過程中執行到lab_
mysql進階(二十二)MySQL錯誤之Incorrect string value: '\xE7\x81\xAB\xE7\x8B\x90...中文字元輸入錯誤
MySQL錯誤之Incorrect string value: '\xE7\x81\xAB\xE7\x8B\x90...' for column 'tout' at row 1中文字元輸入錯誤 在實驗過程中需要將輸出引數寫入資料庫,在寫的過程中執行到lab_dynam
MySQL知識(十五)——儲存過程的呼叫、檢視、修改和刪除
2 呼叫儲存過程 儲存過程必須使用CALL語句呼叫,並且儲存過程和資料庫相關,如果要執行其他資料庫中的儲存過程,需要指定資料庫名稱,例如CALL dbname.procname。儲存函式的呼叫與MySQL中預定義的函式的呼叫方式相同。 呼叫儲存過程示