校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > MySql刪除和更新操作對性能有影響嗎

MySql刪除和更新操作對性能有影響嗎

熱門標簽:怎樣把地圖標注導入公司地址 400外呼系統合法 廣州人工電銷機器人費用 寧波人工外呼系統有效果嗎 地圖標注一個圓圈怎么用 電銷機器人被曝光 洛陽外呼系統平臺 真人語音電銷機器人 如何在地圖標注自己店鋪

刪除和更新操作的開銷往往比插入高,所以一個好的設計需要減少對數據庫的更新和刪除操作。

3.1更新操作

數據庫的更新操作會帶來一連串的“效應”:更新操作需要記錄日志(以便錯誤時回滾);更新可變長字段(如,varchar類型)會帶來數據物理存儲的變化(記錄的移動);更新索引字段會導致索引重建;更新主鍵會導致數據重組等。這一切不但會造成更新操作本身效率低,而且由于磁片碎片的產生會造成以后查詢性能的降低。為了應對這一情況,有兩種策略:一、減少更新次數,把多個字段的更新寫到同一個語句里;二、避免更新。這兩種策略分別適用于不同的情況,下面將舉例說明兩種情況。

3.1.1減少更新次數
在整合庫里有個代碼清洗過程,就是通過連接代碼表給業務數據的自編碼字段賦值。代碼清洗其實是通過關聯代碼表來更新業務數據表的一個過程,需要連接多個代碼表,更新多個自編碼字段。完成此更新,有兩種更新語句的寫法:一種是寫成多個SQL語句,每個語句更新一個自編碼字段;另一種寫法是將所有更新寫在一個語句中。更新銀行代碼的更新語句如下所示:

updateTBL_INCOME_TMP A
setBANKCODESELF = (
 select SELFCODE
 from
 TBL_BANKINFO B
 where A.BANKCODE = B.BANKCODE )

通過一個更新語句實現多個自編碼字段更新的語句示意如下:

復制代碼 代碼如下:

updateTBL_INCOME_TMP

set 代碼1自編碼 = 通過關聯代碼1表得到自編碼,
    代碼2自編碼 =通過關聯代碼2表得到自編碼,
    ...,
    代碼n自編碼 =通過關聯代碼n表得到自編碼

利用兩千萬的測試數據。兩種方法的測試結果如下表所示。從測試結果看出,一次更新方法性能提高了十倍,大大提高了性能。

處理過程

多次更新方法耗時

一次更新方法耗時

代碼清洗

0:29:48
0:02:59

3.1.2避免更新

下面舉個通俗的例子,這類情況是經常遇到的。某公司有一套系統員工考勤系統,為了提高查詢統計的性能,在原有系統基礎上建立了一些包含冗余信息的表。以員工表為例,它獲得數據的過程如圖12所示。第一步把員工信息放到新表中,然后連接通過字段“部門ID”連接更新“部門名稱”。

圖12. 關聯更新

一般,為了節省存儲開支把部門名稱這樣的字段設計成可變長的。所以在對它進行更新時會造成磁盤數據的重新組織,形成磁盤碎片,影響查詢性能。

為了避免這樣的情況發生,我們可以使用如圖13所示的方法避免更新。這種方法一步完成了冗余數據表的插入,再插入時連接部門表獲得“部門名稱”,從而避免了更新操作。

圖13. 避免更新

3.2刪除操作

初學者可能認為刪除操作很簡單,可以快速完成。其實這是一個錯誤的理解,刪除過程需要大量掃描磁盤;需要記錄數據庫日志;而且刪除過程不釋放磁盤空間,浪費磁盤,并且使磁盤上的數據支離破碎,這對后續查詢的性能是一個致命的打擊。通常用兩種方式來應對:一、對經常做刪除操作的表進行重組(reorg);二、避免刪除。

3.2.1 重組

重組(reorg)操作會重新排列表數據的物理順序,并除去碎片數據中的空閑空間。

由于刪除操作不釋放磁盤空間,在執行刪除操作后,表會成為碎片狀,這導致性能嚴重下降,在多次更新操作之后也會出現這種情況。若收集了統計信息,但看不出有明顯的性能改進,則重組表數據可能會有幫助。重組表數據時,根據指定的索引重新安排數據的物理順序,并除去碎片數據中的空閑空間。這使該數據可以更快速的被存取,從而改進性能。

3.2.2 避免刪除——中間表和正式表模式

在數據需要比較復雜的處理的時候經常會用到中間表和正式表模式。數據在中間表中被處理,然后把滿足條件的數據轉移至正式表,不滿足條件的數據保留在中間表中。圖14示意了數據從中間表轉移到正式表的過程:在完成數據處理之后,需要把中間表temp1中flag = 1的數據插入到正式表,并刪除中間表temp1中flag = 1的數據。

圖14. 從中間表向正式表轉移數據

因為flag字段不是聚簇索引,所以當對中間表temp1進行刪除后,會再磁盤中留下大量碎片,如圖15所示。不但會留下那么多的磁盤碎片,而且已刪除的數據的空間也不會自動釋放。結果是不但浪費磁盤空間,而且查詢性能會急劇下降。

圖15. 刪除操作后的磁盤碎片

咱們可以使用清空表的命令來避免刪除操作。除了中間表temp1和正式表,添加輔助臨時表temp2。如果temp1中保留的數據flag=0只占有10%,這一優化將顯著提升性能。具體步驟如下:

1.         將temp1中flag=0的數據,插入到temp2

2.         清空表temp1

復制代碼 代碼如下:

alter table temp1 ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE ;

3.        將temp2中的數據插入temp1

3.3如何使訪問更高效

本小節的內容很大一部分來自《The Art of SQL》這本書,這本書里集合了數據庫開發的通用經驗。雖然沒有局限于具體的DBMS和硬件平臺,但是卻是一本實踐性很強的書。

1.一次連接數據庫,做很多事情。直到處理完,才斷開連接。
2.一個SQL語句包含盡量多的操作。形象地說:幾千個語句,借助游標不斷循環,很慢。換成幾個語句,處理同樣的數據,還是很慢。換成一個語句,解決問題,最好。
3.接近DBMS核心。盡量使用數據庫自帶的函數。減少自定義函數。因為再聰明的數據庫優化器也不認識自定義函數。
4.一個語句不要連接太多的表,建議的上限是5個。
5.將頻繁更新的列集中起來:當更新某一行時,DB2 會記錄進行更改的所有列,因此將頻繁更新的列放到一起可以減少 DB2 的記錄工作。這只是一個有關性能的小建議,因此不應為實現它而進行重大的應用程序或數據庫設計修改。

以上就是本文針對MySql刪除和更新對性能有影響嗎的全部內容,希望喜歡。

您可能感興趣的文章:
  • MySQL 創建主鍵,外鍵和復合主鍵的語句
  • mysql外鍵(Foreign Key)介紹和創建外鍵的方法
  • MYSQL建立外鍵失敗幾種情況記錄Can''t create table不能創建表
  • MySQL外鍵使用詳解
  • 詳解MySQL中的外鍵約束問題
  • Mysql學習心得之插入、更新、刪除記錄
  • php+mysqli實現批量執行插入、更新及刪除數據的方法
  • 與MSSQL對比學習MYSQL的心得(八)--插入 更新 刪除
  • Nodejs使用mysql模塊之獲得更新和刪除影響的行數的方法
  • MySQL使用外鍵實現級聯刪除與更新的方法

標簽:煙臺 珠海 北海 晉中 東營 石家莊 咸寧 南昌

巨人網絡通訊聲明:本文標題《MySql刪除和更新操作對性能有影響嗎》,本文關鍵詞  MySql,刪除,和,更新,操,作對,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySql刪除和更新操作對性能有影響嗎》相關的同類信息!
  • 本頁收集關于MySql刪除和更新操作對性能有影響嗎的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    精品sm在线观看| 色94色欧美sute亚洲线路二| 不卡电影免费在线播放一区| 亚洲国产激情av| 成人h精品动漫一区二区三区| 91精品福利在线一区二区三区 | 亚洲情趣在线观看| 91福利视频久久久久| 蜜臀av在线播放一区二区三区| 久久综合九色综合97婷婷| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 国产成人亚洲综合色影视 | 国产精品热久久久久夜色精品三区| 成人黄色国产精品网站大全在线免费观看| 亚洲天堂免费看| 日韩欧美视频在线| 色先锋资源久久综合| 久99久精品视频免费观看| 一区精品在线播放| 91麻豆精品91久久久久同性| 成人avav在线| 九色综合狠狠综合久久| 亚洲精品日韩综合观看成人91| 欧美一级二级三级蜜桃| voyeur盗摄精品| 精品一区二区三区免费播放| 亚洲综合激情网| 中文字幕一区免费在线观看 | 精品国产网站在线观看| 欧美色图在线观看| 成人h精品动漫一区二区三区| 麻豆高清免费国产一区| 亚洲成人激情自拍| 亚洲精品免费一二三区| 国产精品网曝门| 精品裸体舞一区二区三区| 精品视频在线看| 色一情一伦一子一伦一区| 不卡av免费在线观看| 成人免费毛片高清视频| 国产不卡在线视频| 国产主播一区二区| 九九在线精品视频| 精品午夜一区二区三区在线观看| 亚洲aⅴ怡春院| 日日嗨av一区二区三区四区| 一区二区三区中文字幕电影| 中文字幕一区二区三区在线播放 | 欧美高清一级片在线观看| 日韩欧美久久久| 精品久久久久av影院| 欧美一级欧美三级在线观看| 在线不卡一区二区| 69av一区二区三区| 欧美一区二区日韩一区二区| 欧美精品日韩一区| 日韩欧美色综合| 久久久精品影视| 欧美国产1区2区| 亚洲激情在线播放| 亚洲成在线观看| 美洲天堂一区二卡三卡四卡视频 | 精品中文字幕一区二区| 日韩成人免费在线| 国产一区二区福利视频| 成人h动漫精品| 日本道免费精品一区二区三区| 91成人在线免费观看| 91精品免费观看| 久久综合色婷婷| 1区2区3区精品视频| 亚洲成人动漫在线免费观看| 免费成人你懂的| 成人网男人的天堂| 欧美在线不卡视频| 精品久久久久一区二区国产| 国产精品久久久久久久久免费桃花| 亚洲欧美一区二区三区久本道91 | 26uuu精品一区二区| 国产精品国产三级国产普通话三级| 亚洲天堂中文字幕| 亚洲免费在线电影| 久久99精品久久久久久| 不卡高清视频专区| 3751色影院一区二区三区| 久久毛片高清国产| 午夜精品久久久久久久99樱桃| 久草精品在线观看| 日本久久一区二区| 久久久久久黄色| 天堂va蜜桃一区二区三区| 国产91丝袜在线播放| 欧美日韩免费视频| 国产精品久久国产精麻豆99网站 | 欧美精品九九99久久| 26uuu亚洲| 日韩黄色在线观看| 色偷偷久久一区二区三区| 欧美不卡一区二区三区| 亚洲一二三四区| 成人高清免费观看| 久久免费精品国产久精品久久久久| 亚洲一级电影视频| 91视频观看视频| 久久久另类综合| 美女一区二区久久| 欧美日产在线观看| 一区av在线播放| 色综合一区二区| 亚洲国产精品高清| 国产精品中文字幕欧美| 欧美电影免费观看高清完整版在线观看| 国产精品第五页| 国产成人av一区二区三区在线 | 秋霞电影网一区二区| 色综合天天性综合| 国产精品三级av| 国产精品亚洲专一区二区三区| 欧美一区二区三区在线视频| 亚洲成人先锋电影| 欧美中文字幕一区二区三区亚洲| 欧美激情一区二区| 丰满白嫩尤物一区二区| 国产欧美一区二区精品久导航 | 成人精品视频一区二区三区| 日韩免费看的电影| 青青草伊人久久| 欧美一区二区三区免费观看视频| 三级久久三级久久久| 91精品国产综合久久久蜜臀粉嫩 | 91精品国产综合久久久蜜臀图片| 洋洋成人永久网站入口| 一本一道综合狠狠老| 亚洲电影你懂得| 8v天堂国产在线一区二区| 午夜久久电影网| 欧美一二三四区在线| 精品一区二区三区在线观看国产| 精品成人私密视频| 国产成人免费视频网站| 日本一区二区三区高清不卡| 国产91精品精华液一区二区三区| 久久久久久久久蜜桃| 成人精品鲁一区一区二区| 亚洲色欲色欲www在线观看| 在线免费观看一区| 美腿丝袜在线亚洲一区| 欧美一级久久久| 亚洲福中文字幕伊人影院| 欧美一级欧美三级| 成人三级伦理片| 亚洲高清三级视频| 欧美一卡二卡在线| 成人黄色软件下载| 日韩精品91亚洲二区在线观看| 久久男人中文字幕资源站| 99这里都是精品| 日本不卡高清视频| 亚洲国产成人私人影院tom| 欧美中文字幕一二三区视频| 免费观看日韩电影| ●精品国产综合乱码久久久久 | 欧洲日韩一区二区三区| 午夜久久久久久久久 | 久久综合网色—综合色88| 97se亚洲国产综合自在线不卡| 午夜电影久久久| 国产精品免费丝袜| 日韩一级免费观看| 91欧美一区二区| 狠狠色丁香久久婷婷综合丁香| 综合久久久久久| 久久综合丝袜日本网| 欧美午夜精品久久久久久超碰| 国产一区在线视频| 无码av免费一区二区三区试看| 国产精品视频九色porn| 日韩一区二区在线免费观看| 91网页版在线| 岛国精品在线观看| 美国精品在线观看| 亚洲精品乱码久久久久久日本蜜臀| 日韩欧美成人一区| 欧美日本在线一区| 欧美午夜不卡视频| 99国产精品国产精品久久| 一区二区三区精品在线观看| 精品国产一区a| 欧美福利视频一区| 欧美午夜在线观看| 91黄色免费看| 91极品美女在线| 日本黄色一区二区| 色激情天天射综合网| 五月婷婷激情综合| 一区二区激情小说| 亚洲一区中文在线| 亚洲综合一二区| 精品一区二区三区在线观看| 美国毛片一区二区|