解析mysqldump的delay-insert選項
如果用delayed-insert插入時不用鎖表。
./bin/mysqldump -uroot -proot --lock-tables --extended-insert --opt --quick --master-data test >/home/zhanghong/opdir/tmp/test.sql
--
LOCK TABLES `student` WRITE;
/*!40000 ALTER TABLE `student` DISABLE KEYS */;
INSERT INTO `student` VALUES (16,'hhah',3),(17,'22',3),(18,'ss',18);
/*!40000 ALTER TABLE `student` ENABLE KEYS */;
UNLOCK TABLES;
使用delayed-insert不會鎖表
./bin/mysqldump -uroot -proot --lock-tables --delayed-insert --extended-insert --opt --quick --master-data test >/home/zhanghong/opdir/tmp/test.sql
/*!40000 ALTER TABLE `student` DISABLE KEYS */;
INSERT DELAYED INTO `student` VALUES (16,'hhah',3),(17,'22',3),(18,'ss',18);
/*!40000 ALTER TABLE `student` ENABLE KEYS */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
當(dāng)一個線程對一個表執(zhí)行DELAYED語句時,會創(chuàng)建出一個管理程序線程(如果原來不存在),對用于本表的所有DELAYED語句進行處理。
·線程會檢查是否管理程序以前已獲取了DELAYED鎖定;如果沒有獲取,則告知管理程序線程進行此項操作。 即使其它線程對表有READ或WRITE鎖定,也可以獲得DELAYED鎖定。但是管理程序會等待所有的ALTER TABLE鎖定或FLUSH TABLE鎖定,以確保表的結(jié)構(gòu)是最新的。
·線程執(zhí)行INSERT語句,但不是把行寫入表中,而是把最終行的拷貝放入一個由管理程序線程管理的隊列中。線程會提示出現(xiàn)語法錯誤,這些錯誤會被報告到客戶端中。
·因為在插入操作之前,INSERT返回已經(jīng)完成,所以客戶端不能從服務(wù)器處獲取重復(fù)記錄的數(shù)目,也不能獲取生成的行的AUTO_INCREMENT值。(如果您使用C API,則出于同樣的原因,mysql_info()函數(shù)不會返回任何有意義的東西。)
·當(dāng)行被插入表中時,二進制日志被管理程序線程更新。在多行插入情況下,當(dāng)?shù)谝恍斜徊迦霑r,二進制日志被更新。
- PHP+MySQL之Insert Into數(shù)據(jù)插入用法分析
- 正確使用MySQL INSERT INTO語句
- MySql insert插入操作的3個小技巧分享
- 逐步分析MySQL從庫com_insert無變化的原因
- MySQL生產(chǎn)庫Insert了2次同樣的記錄但是主鍵ID是不一樣的問題的分析過程
- Mysql中Insert into xxx on duplicate key update問題
- mysql insert if not exists防止插入重復(fù)記錄的方法
- MySQL數(shù)據(jù)庫INSERT、UPDATE、DELETE以及REPLACE語句的用法詳解
- mysql 操作總結(jié) INSERT和REPLACE
- MySQL中insert語句的使用與優(yōu)化教程
相關(guān)文章
MySQL控制流函數(shù)(-if?,elseif,else,case...when)
這篇文章主要介紹了MySQL控制流函數(shù)(-if?,elseif,else,case...when),文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下2022-07-07
分享MYSQL插入數(shù)據(jù)時忽略重復(fù)數(shù)據(jù)的方法
當(dāng)程序中insert時,已存在的數(shù)據(jù)不插入,不存在的數(shù)據(jù)insert。在網(wǎng)上搜了下,可以使用存儲過程或者是用NOT EXISTS 來判斷是否存在2013-09-09
MySQL基礎(chǔ)快速入門知識總結(jié)(附思維導(dǎo)圖)
MySQL 為關(guān)系型數(shù)據(jù)庫(Relational Database Management System), 這種所謂的關(guān)系型可以理解為表格的概念, 一個關(guān)系型數(shù)據(jù)庫由一個或數(shù)個表格組成,這篇文章主要給大家介紹了關(guān)于MySQL基礎(chǔ)快速入門知識的相關(guān)資料,需要的朋友可以參考下2021-09-09
mysql8.0 windows x64 zip包安裝配置教程
這篇文章主要為大家詳細介紹了mysql8.0 windows x64 zip包安裝配置教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05
Mysql經(jīng)典高逼格/命令行操作(速成)(推薦)
這篇文章主要介紹了Mysql命令行操作,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04

