国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

解析mysqldump的delay-insert選項

2024-07-24 13:02:09
字體:
來源:轉載
供稿:網友

如果用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 */;

當一個線程對一個表執行DELAYED語句時,會創建出一個管理程序線程(如果原來不存在),對用于本表的所有DELAYED語句進行處理。

·線程會檢查是否管理程序以前已獲取了DELAYED鎖定;如果沒有獲取,則告知管理程序線程進行此項操作。 即使其它線程對表有READ或WRITE鎖定,也可以獲得DELAYED鎖定。但是管理程序會等待所有的ALTER TABLE鎖定或FLUSH TABLE鎖定,以確保表的結構是最新的。

·線程執行INSERT語句,但不是把行寫入表中,而是把最終行的拷貝放入一個由管理程序線程管理的隊列中。線程會提示出現語法錯誤,這些錯誤會被報告到客戶端中。

·因為在插入操作之前,INSERT返回已經完成,所以客戶端不能從服務器處獲取重復記錄的數目,也不能獲取生成的行的AUTO_INCREMENT值。(如果您使用C API,則出于同樣的原因,mysql_info()函數不會返回任何有意義的東西。)

·當行被插入表中時,二進制日志被管理程序線程更新。在多行插入情況下,當第一行被插入時,二進制日志被更新。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 卫辉市| 衡山县| 三门县| 合作市| 忻州市| 日喀则市| 丽水市| 紫金县| 吉木乃县| 枣强县| 靖远县| 静安区| 阳原县| 安化县| 盱眙县| 余江县| 邻水| 顺平县| 武汉市| 织金县| 于田县| 长汀县| 万盛区| 牡丹江市| 平塘县| 清流县| 太保市| 英山县| 元氏县| 彰化县| 石景山区| 徐水县| 高阳县| 土默特左旗| 汉寿县| 射洪县| 佛山市| 上饶市| 玛纳斯县| 商丘市| 永川市|