欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL中字符串索引對update的影響分析

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

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

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

下面做了一個簡單的試驗。

(1)首先對某個億級記錄的表字段所有記錄執(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)計用時4個小時左右。

(2)然后對某個億級記錄的表子段添加索引:

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

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

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

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

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

不過只是估算,結果如何感興趣的朋友可以動手驗證一下。

更多關于MySQL相關內容感興趣的讀者可查看本站專題:《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》、《MySQL數據庫鎖相關技巧匯總》及《MySQL常用函數大匯總

希望本文所述對大家MySQL數據庫計有所幫助。

相關文章

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

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

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

    SELECT… FOR UPDATE 排他鎖的實現

    本文主要介紹了SELECT… FOR UPDATE 排他鎖的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • mysql增刪改查基礎語句

    mysql增刪改查基礎語句

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

    MSSQL output使用

    存儲過程 output 輸出參數 可以是一個字符串
    2009-05-05
  • Debian中完全卸載MySQL的方法

    Debian中完全卸載MySQL的方法

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

    MYSQL必知必會讀書筆記第二章之版本更改

    本文是小編日常收集整理些有關mysql必知必會筆記整理第二章,小編感覺非常實用,特此分享到腳本之家平臺,供大家參考
    2016-05-05
  • MySQL日志設置及查看方法

    MySQL日志設置及查看方法

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

    通過實例判斷mysql update是否會鎖表

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

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

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

    windows下重啟mysql的方法

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

最新評論