DELAYED 的使用
使用延遲插入操作
DELAYED調節符應用於INSERT和REPLACE語句。當DELAYED插入操作到達的時候,
服務器把數據行放入一個隊列中,並立即給客戶端返回一個狀態信息,這樣客戶
端就可以在數據表被真正地插入記錄之前繼續進行操作了。如果讀取者從該數據
表中讀取數據,隊列中的數據就會被保持着,直到沒有讀取者爲止。接着服務器
開始插入延遲數據行(delayed-row)隊列中的數據行。在插入操作的同時,服務器
還要檢查是否有新的讀取請求到達和等待。如果有,延遲數據行隊列就被掛起,
允許讀取者繼續操作。當沒有讀取者的時候,服務器再次開始插入延遲的數據行。
這個過程一直進行,直到隊列空了爲止。
幾點要注意事項:
· INSERT DELAYED應該僅用於指定值清單的INSERT語句。服務器忽略用於INSERT DELAYED...SELECT語句的DELAYED。
· 服務器忽略用於INSERT DELAYED...ON DUPLICATE UPDATE語句的DELAYED。
· 因爲在行被插入前,語句立刻返回,所以您不能使用LAST_INSERT_ID()來獲取AUTO_INCREMENT值。AUTO_INCREMENT值可能由語句生成。
· 對於SELECT語句,DELAYED行不可見,直到這些行確實被插入了爲止。
· DELAYED在從屬複製服務器中被忽略了,因爲DELAYED不會在從屬服務器中產生與主服務器不一樣的數據。
注意,目前在隊列中的各行只保存在存儲器中,直到它們被插入到表中爲止。這意味着,如果您強行中止了mysqld(例如,使用kill -9)
或者如果mysqld意外停止,則所有沒有被寫入磁盤的行都會丟失。
mysql delayed 延遲插入
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
MySQL数据库集群-PXC方案
wy53780
2020-04-23 13:55:07
sql語法、關係建模
死瘦宅
2019-02-24 22:35:22
MySQL 事務、函數、觸發器、數據庫備份、權限管理
死瘦宅
2019-02-24 22:35:12
《從0到1學習Flink》—— Flink 讀取 Kafka 數據批量寫入到 MySQL
zhisheng
2019-02-24 21:04:11
SpringBoot 填坑 (一) | CentOS7.4 環境下,表時間字段默認值設置失效
一個優秀的廢人
2019-02-24 15:33:55
mysql-存儲過程
雙子城
2019-02-24 13:43:57
jmeter學習指南之操作 mysql 數據庫
小強測試
2019-02-24 13:34:06
20190222全天的實驗
清歡難尋
2019-02-24 13:17:21
數據庫監控:zabbix(fpmmm)
AMGYM
2019-02-24 13:05:14
數據庫監控:nagios(check_mysql_health)
AMGYM
2019-02-24 13:05:14
如何釋放已刪除的InnoDB磁盤空間
lvrenX
2019-02-24 13:04:33
MYSQL中視圖的使用
雙子城
2019-02-24 08:44:17
MySQL從刪庫到跑路
司木
2019-02-24 00:24:07
bat記錄遠程桌面連接登錄信息
jason1982
2019-02-24 12:57:09
Exchange Server 2010 POP3&IMAP設置詳解
lingping
2019-02-23 14:05:54