亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL中字符串索引對(duì)update的影響分析

 更新時(shí)間:2016年04月19日 11:57:13   作者:moxiaomomo  
這篇文章主要介紹了MySQL中字符串索引對(duì)update的影響,結(jié)合實(shí)例形式分析了添加索引操作對(duì)于update語(yǔ)句的性能所造成的影響,需要的朋友可以參考下

本文分析了MySQL中字符串索引對(duì)update的影響。分享給大家供大家參考,具體如下:

對(duì)某一個(gè)類(lèi)型為varchar的字段添加前綴索引后,基于該子段的條件查詢時(shí)間基本大幅下降;但對(duì)于update操作,所耗的時(shí)間卻急劇上升,主要原因是在更新數(shù)據(jù)的同時(shí),mysql會(huì)執(zhí)行索引的更新。

下面做了一個(gè)簡(jiǎn)單的試驗(yàn)。

(1)首先對(duì)某個(gè)億級(jí)記錄的表字段所有記錄執(zhí)行更新:

for idx in range(1, count+1):
  sql = "update tbl_name set platforms='"+datetime.now().strftime('%Y%m%d%H%M%S%f')+"' where id="+str(idx)+";"
  cursor.execute(sql)

統(tǒng)計(jì)用時(shí)4個(gè)小時(shí)左右。

(2)然后對(duì)某個(gè)億級(jí)記錄的表子段添加索引:

sql = "alter table tbl_name add index platforms_index(platforms(8));"
cursor.execute(sql)

然后再執(zhí)行同上的update語(yǔ)句,統(tǒng)計(jì)用時(shí)將近9個(gè)小時(shí)。

(3)由此可見(jiàn)字符串索引對(duì)于update等操作在性能上有極大的影響。

雖然以上小試驗(yàn)并沒(méi)有多大實(shí)際意義,但是可以延伸一下,如果不對(duì)該字段添加索引,而是直接把該字段數(shù)據(jù)存儲(chǔ)到另一個(gè)小表b,然后在該表添加一個(gè)id字段映射到小表b,然后再執(zhí)行update操作;這樣性能又如何呢?

理論上性能應(yīng)該與記錄的重復(fù)度有關(guān),如果重復(fù)率高,小表b將會(huì)很小(unique去重);而更新所用時(shí)間為通過(guò)原表映射查詢表b字段的時(shí)間+更新表b記錄的時(shí)間,總體上應(yīng)該比更新記錄的時(shí)間+更新索引的時(shí)間要少。

不過(guò)只是估算,結(jié)果如何感興趣的朋友可以動(dòng)手驗(yàn)證一下。

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過(guò)程技巧大全》、《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總》及《MySQL常用函數(shù)大匯總

希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)計(jì)有所幫助。

相關(guān)文章

  • MySQL索引介紹及優(yōu)化方式

    MySQL索引介紹及優(yōu)化方式

    這篇文章主要介紹了MySQL索引介紹及優(yōu)化方式,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • SELECT… FOR UPDATE 排他鎖的實(shí)現(xiàn)

    SELECT… FOR UPDATE 排他鎖的實(shí)現(xiàn)

    本文主要介紹了SELECT… FOR UPDATE 排他鎖的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • mysql增刪改查基礎(chǔ)語(yǔ)句

    mysql增刪改查基礎(chǔ)語(yǔ)句

    這篇文章主要介紹了mysql增刪改查基礎(chǔ)語(yǔ)句,需要的朋友可以參考下
    2017-10-10
  • MSSQL output使用

    MSSQL output使用

    存儲(chǔ)過(guò)程 output 輸出參數(shù) 可以是一個(gè)字符串
    2009-05-05
  • Debian中完全卸載MySQL的方法

    Debian中完全卸載MySQL的方法

    這篇文章主要介紹了Debian中完全卸載MySQL的方法,同時(shí)介紹了清理方法,可以做到徹底卸載mysql,需要的朋友可以參考下
    2014-06-06
  • MYSQL必知必會(huì)讀書(shū)筆記第二章之版本更改

    MYSQL必知必會(huì)讀書(shū)筆記第二章之版本更改

    本文是小編日常收集整理些有關(guān)mysql必知必會(huì)筆記整理第二章,小編感覺(jué)非常實(shí)用,特此分享到腳本之家平臺(tái),供大家參考
    2016-05-05
  • MySQL日志設(shè)置及查看方法

    MySQL日志設(shè)置及查看方法

    這篇文章主要介紹了MySQL日志設(shè)置及查看方法,需要的朋友可以參考下
    2017-05-05
  • 通過(guò)實(shí)例判斷mysql update是否會(huì)鎖表

    通過(guò)實(shí)例判斷mysql update是否會(huì)鎖表

    這篇文章主要介紹了通過(guò)實(shí)例判斷mysql update是否會(huì)鎖表,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 詳解MySQL中的字符集和排序規(guī)則

    詳解MySQL中的字符集和排序規(guī)則

    MySQL字符集用于定義數(shù)據(jù)庫(kù)中存儲(chǔ)的文本數(shù)據(jù)的編碼格式,而排序規(guī)則則用于確定如何對(duì)文本數(shù)據(jù)進(jìn)行排序和比較,本文將給大家講講MySQL中的字符集和排序規(guī)則,需要的朋友可以參考下
    2023-09-09
  • windows下重啟mysql的方法

    windows下重啟mysql的方法

    這篇文章主要介紹了windows下重啟mysql的方法,需要的朋友可以參考下
    2014-12-12

最新評(píng)論