最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL 大數(shù)據(jù)量快速插入方法和語(yǔ)句優(yōu)化分享

 更新時(shí)間:2012年04月14日 02:32:42   作者:  
對(duì)于事務(wù)表,應(yīng)使用BEGIN和COMMIT代替LOCK TABLES來加快插入
鎖定也將降低多連接測(cè)試的整體時(shí)間,盡管因?yàn)樗鼈兊群蜴i定最大等待時(shí)間將上升。例如:

復(fù)制代碼 代碼如下:

Connection 1 does 1000 inserts
Connections 2, 3, and 4 do 1 insert
Connection 5 does 1000 inserts


  如果不使用鎖定,2、3和4將在1和5前完成。如果使用鎖定,2、3和4將可能不在1或5前完成,但是整體時(shí)間應(yīng)該快大約40%。

  INSERT、UPDATE和DELETE操作在MySQL中是很快的,通過為在一行中多于大約5次連續(xù)不斷地插入或更新的操作加鎖,可以獲得更好的整體性能。如果在一行中進(jìn)行多次插入,可以執(zhí)行LOCK TABLES,隨后立即執(zhí)行UNLOCK TABLES(大約每1000行)以允許其它的線程訪問表。這也會(huì)獲得好的性能。

  INSERT裝載數(shù)據(jù)比LOAD DATA INFILE要慢得多,即使是使用上述的策略。

  為了對(duì)LOAD DATA INFILE和INSERT在MyISAM表得到更快的速度,通過增加key_buffer_size系統(tǒng)變量來擴(kuò)大 鍵高速緩沖區(qū)。

  INSERT語(yǔ)法

復(fù)制代碼 代碼如下:

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name [(col_name,...)]
VALUES ({expr | DEFAULT},...),(...),...
[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]


  或:

復(fù)制代碼 代碼如下:


INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name
SET col_name={expr | DEFAULT}, ...
[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]


  或:

復(fù)制代碼 代碼如下:

 
INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name [(col_name,...)]
SELECT ...
[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]


  一、DELAYED 的使用

  使用延遲插入操作DELAYED調(diào)節(jié)符應(yīng)用于INSERT和REPLACE語(yǔ)句。當(dāng)DELAYED插入操作到達(dá)的時(shí)候,服務(wù)器把數(shù)據(jù)行放入一個(gè)隊(duì)列中,并立即給客戶端返回一個(gè)狀態(tài)信息,這樣客戶端就可以在數(shù)據(jù)表被真正地插入記錄之前繼續(xù)進(jìn)行操作了。如果讀取者從該數(shù)據(jù)表中讀取數(shù)據(jù),隊(duì)列中的數(shù)據(jù)就會(huì)被保持著,直到?jīng)]有讀取者為止。

  接著服務(wù)器開始插入延遲數(shù)據(jù)行(delayed-row)隊(duì)列中的數(shù)據(jù)行。在插入操作的同時(shí),服務(wù)器還要檢查是否有新的讀取請(qǐng)求到達(dá)和等待。如果有,延遲數(shù)據(jù)行隊(duì)列就被掛起,允許讀取者繼續(xù)操作。當(dāng)沒有讀取者的時(shí)候,服務(wù)器再次開始插入延遲的數(shù)據(jù)行。這個(gè)過程一直進(jìn)行,直到隊(duì)列空了為止。

  幾點(diǎn)要注意事項(xiàng):

  INSERT DELAYED應(yīng)該僅用于指定值清單的INSERT語(yǔ)句。服務(wù)器忽略用于INSERT DELAYED...SELECT語(yǔ)句的DELAYED。服務(wù)器忽略用于INSERT DELAYED...ON DUPLICATE UPDATE語(yǔ)句的DELAYED。

  因?yàn)樵谛斜徊迦肭埃Z(yǔ)句立刻返回,所以您不能使用LAST_INSERT_ID()來獲取AUTO_INCREMENT值。AUTO_INCREMENT值可能由語(yǔ)句生成。

  對(duì)于SELECT語(yǔ)句,DELAYED行不可見,直到這些行確實(shí)被插入了為止。

  DELAYED在從屬?gòu)?fù)制服務(wù)器中被忽略了,因?yàn)镈ELAYED不會(huì)在從屬服務(wù)器中產(chǎn)生與主服務(wù)器不一樣的數(shù)據(jù)。注意,目前在隊(duì)列中的各行只保存在存儲(chǔ)器中,直到它們被插入到表中為止。這意味著,如果您強(qiáng)行中止了mysqld(例如,使用kill -9)或者如果mysqld意外停止,則所有沒有被寫入磁盤的行都會(huì)丟失。

相關(guān)文章

  • mysql免安裝制作使用說明

    mysql免安裝制作使用說明

    mysql免安裝版本的制作方法,需要的朋友可以參考下。
    2010-08-08
  • MySQL磁盤碎片整理實(shí)例演示

    MySQL磁盤碎片整理實(shí)例演示

    這篇文章主要給大家介紹了關(guān)于MySQL磁盤碎片整理的相關(guān)資料,為什么數(shù)據(jù)庫(kù)會(huì)產(chǎn)生碎片,以及如何清理磁盤碎片,還有一些清理磁盤碎片的注意事項(xiàng),需要的朋友可以參考下
    2022-04-04
  • mysql如何導(dǎo)出服務(wù)器內(nèi)所有的數(shù)據(jù)庫(kù)

    mysql如何導(dǎo)出服務(wù)器內(nèi)所有的數(shù)據(jù)庫(kù)

    這篇文章主要介紹了mysql如何導(dǎo)出服務(wù)器內(nèi)所有的數(shù)據(jù)庫(kù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • MySQL中如何添加新字段

    MySQL中如何添加新字段

    這篇文章主要介紹了MySQL中如何添加新字段方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • MySQL對(duì)中文進(jìn)行排序詳解及實(shí)例

    MySQL對(duì)中文進(jìn)行排序詳解及實(shí)例

    這篇文章主要介紹了MySQL對(duì)中文進(jìn)行排序詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • MySQL錯(cuò)誤代碼2058和2059的解決辦法

    MySQL錯(cuò)誤代碼2058和2059的解決辦法

    這篇文章主要介紹了MySQL錯(cuò)誤代碼2058和2059的解決辦法,2058和2059的錯(cuò)誤碼核心都是你用的客戶端工具和mysql版本的密碼插件不匹配,下面就來介紹一下解決方法,感興趣的可以了解一下
    2025-03-03
  • mysql數(shù)據(jù)庫(kù)中查詢json的技巧大全

    mysql數(shù)據(jù)庫(kù)中查詢json的技巧大全

    這篇文章主要介紹了MySQL中JSON數(shù)據(jù)類型的各種函數(shù),包括JSON_EXTRACT、JSON_UNQUOTE、JSON_SEARCH、JSON_SET、JSON_CONTAINS、JSON_REMOVE和JSON_REPLACE等,涵蓋了JSON數(shù)據(jù)的提取、更新、刪除和查詢等功能,需要的朋友可以參考下
    2025-02-02
  • MySQL常見的底層優(yōu)化操作教程及相關(guān)建議

    MySQL常見的底層優(yōu)化操作教程及相關(guān)建議

    這篇文章主要介紹了MySQL常見的底層優(yōu)化操作教程及相關(guān)建議,包括對(duì)運(yùn)行操作系統(tǒng)的硬件方面及存儲(chǔ)引擎參數(shù)的調(diào)整等零碎方面的小整理,需要的朋友可以參考下
    2015-12-12
  • Linux下mysql異地自動(dòng)備份的方法

    Linux下mysql異地自動(dòng)備份的方法

    這篇文章主要介紹了Linux下mysql異地自動(dòng)備份的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • MySQL基礎(chǔ)教程第一篇 mysql5.7.18安裝和連接教程

    MySQL基礎(chǔ)教程第一篇 mysql5.7.18安裝和連接教程

    這篇文章主要為大家詳細(xì)介紹了MySQL基礎(chǔ)教程第一篇,mysql5.7.18安裝和連接教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05

最新評(píng)論

都安| 乐亭县| 双流县| 星座| 林甸县| 嘉峪关市| 中牟县| 泽普县| 舟曲县| 河北区| 敖汉旗| 阿合奇县| 东光县| 杨浦区| 江华| 长阳| 恩平市| 陆河县| 云霄县| 五大连池市| 六安市| 应用必备| 谢通门县| 舞阳县| 莲花县| 肇州县| 纳雍县| 太仆寺旗| 科技| 祥云县| 交城县| 蕲春县| 大连市| 鹤峰县| 瑞丽市| 读书| 仙游县| 财经| 额济纳旗| 枣阳市| 辽阳县|