婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MySQL 查詢速度慢與性能差的原因與解決方法

MySQL 查詢速度慢與性能差的原因與解決方法

熱門標簽:400電話可以免費申請嗎 真人語音電話機器人 福建外呼系統定制化 悟空科技電話機器人 怎么在地圖標注位置生成圖片 電銷卡外呼系統供應商 銅陵防封電銷卡 騰訊地圖標注提升 美國反騷擾電話機器人

一、什么影響了數據庫查詢速度

1.1 影響數據庫查詢速度的四個因素

1.2 風險分析

QPS: QueriesPerSecond意思是“每秒查詢率”,是一臺服務器每秒能夠相應的查詢次數,是對一個特定的查詢服務器在規定時間內所處理流量多少的衡量標準。

TPS: 是 TransactionsPerSecond的縮寫,也就是事務數/秒。它是軟件測試結果的測量單位。客戶機在發送請求時開始計時,收到服務器響應后結束計時,以此來計算使用的時間和完成的事務個數。

Tips: 最好不要在主庫上數據庫備份,大型活動前取消這樣的計劃。

效率低下的 sql:超高的 QPS與 TPS。大量的并發:數據連接數被占滿( max_connection默認 100,一般把連接數設置得大一些)。 并發量:同一時刻數據庫服務器處理的請求數量超高的 CPU使用率: CPU資源耗盡出現宕機。磁盤 IO:磁盤 IO性能突然下降、大量消耗磁盤性能的計劃任務。解決:更快磁盤設備、調整計劃任務、做好磁盤維護。

1.3 網卡流量:如何避免無法連接數據庫的情況

減少從服務器的數量(從服務器會從主服務器復制日志)進行分級緩存(避免前端大量緩存失效)避免使用 select* 進行查詢分離業務網絡和服務器網絡

1.4 大表帶來的問題( 重要)

1.4.1 大表的特點

記錄行數巨大,單表超千萬表數據文件巨大,超過 10個 G

1.4.2 大表的危害

1.慢查詢:很難在短時間內過濾出需要的數據 查詢字區分度低 -> 要在大數據量的表中篩選出來其中一部分數據會產生大量的磁盤 io -> 降低磁盤效率

2.對 DDL影響:

建立索引需要很長時間:

MySQL-v5.5 建立索引會鎖表MySQL-v>=5.5 建立索引會造成主從延遲( mysql建立索引,先在組上執行,再在庫上執行)

修改表結構需要長時間的鎖表:會造成長時間的主從延遲('480秒延遲')

1.4.3 如何處理數據庫上的大表

分庫分表把一張大表分成多個小表

難點:

分表主鍵的選擇分表后跨分區數據的查詢和統計

1.5 大事務帶來的問題( 重要*)*

1.5.1 什么是事務

1.5.2事務的 ACID屬性

1、原子性( atomicity):全部成功,全部回滾失敗。銀行存取款。

2、一致性(consistent):銀行轉賬的總金額不變。

3、隔離性(isolation):

隔離性等級:

未提交讀( READ UNCOMMITED) 臟讀,兩個事務之間互相可見;已提交讀( READ COMMITED)符合隔離性的基本概念,一個事務進行時,其它已提交的事物對于該事務是可見的,即可以獲取其它事務提交的數據。可重復讀( REPEATABLE READ) InnoDB的默認隔離等級。事務進行時,其它所有事務對其不可見,即多次執行讀,得到的結果是一樣的!可串行化( SERIALIZABLE) 在讀取的每一行數據上都加鎖,會造成大量的鎖超時和鎖征用,嚴格數據一致性且沒有并發是可使用。

查看系統的事務隔離級別: show variables like'%iso%';

開啟一個新事務: begin;

提交一個事務: commit;

修改事物的隔離級別: setsession tx_isolation='read-committed';

4、持久性( DURABILITY):從數據庫的角度的持久性,磁盤損壞就不行了

redolog機制保證事務更新的一致性和持久性

1.5.3 大事務

運行時間長,操作數據比較多的事務;

風險:鎖定數據太多,回滾時間長,執行時間長。

鎖定太多數據,造成大量阻塞和鎖超時;回滾時所需時間比較長,且數據仍然會處于鎖定;如果執行時間長,將造成主從延遲,因為只有當主服務器全部執行完寫入日志時,從服務器才會開始進行同步,造成延遲。

解決思路:

避免一次處理太多數據,可以分批次處理;移出不必要的 SELECT操作,保證事務中只有必要的寫操作。二、什么影響了MySQL性能( 非常重要)

2.1 影響性能的幾個方面

服務器硬件。服務器系統(系統參數優化)。存儲引擎。 MyISAM: 不支持事務,表級鎖。 InnoDB: 支持事務,支持行級鎖,事務 ACID。數據庫參數配置。數據庫結構設計和SQL語句。(重點優化)

2.2 MySQL體系結構

分三層:客戶端->服務層->存儲引擎

MySQL是 插件式的存儲引擎,其中存儲引擎分很多種。只要實現符合mysql存儲引擎的接口,可以開發自己的存儲引擎!所有跨存儲引擎的功能都是在服務層實現的。MySQL的存儲引擎是針對表的,不是針對庫的。也就是說在一個數據庫中可以使用不同的存儲引擎。但是不建議這樣做。

2.3 InnoDB存儲引擎

MySQL5.5及之后版本默認的存儲引擎: InnoDB。

2.3.1 InnoDB使用表空間進行數據存儲。

show variables like'innodb_file_per_table

如果innodbfileper_table 為 ON 將建立獨立的表空間,文件為tablename.ibd;

如果innodbfileper_table 為 OFF 將數據存儲到系統的共享表空間,文件為ibdataX(X為從1開始的整數);

.frm :是服務器層面產生的文件,類似服務器層的數據字典,記錄表結構。

2.3.2 (MySQL5.5默認)系統表空間與( MySQL5.6及以后默認)獨立表空間

1.1 系統表空間無法簡單的收縮文件大小,造成空間浪費,并會產生大量的磁盤碎片。1.2 獨立表空間可以通過 optimeze table 收縮系統文件,不需要重啟服務器也不會影響對表的正常訪問。2.1 如果對多個表進行刷新時,實際上是順序進行的,會產生IO瓶頸。2.2 獨立表空間可以同時向多個文件刷新數據。

強烈建立對Innodb 使用獨立表空間,優化什么的更方便,可控。

2.3.3 系統表空間的表轉移到獨立表空間中的方法

1、使用mysqldump 導出所有數據庫數據(存儲過程、觸發器、計劃任務一起都要導出 )可以在從服務器上操作。2、停止MYsql 服務器,修改參數(my.cnf加入innodbfileper_table),并刪除Inoodb相關文件(可以重建Data目錄)。3、重啟MYSQL,并重建Innodb系統表空間。4、 重新導入數據。

或者 Altertable 同樣可以的轉移,但是無法回收系統表空間中占用的空間。

2.4 InnoDB存儲引擎的特性

2.4.1 特性一:事務性存儲引擎及兩個特殊日志類型:Redo Log 和 Undo Log

Innodb 是一種事務性存儲引擎。完全支持事務的 ACID特性。支持事務所需要的兩個特殊日志類型: RedoLog 和 UndoLog

Redo Log: 實現事務的持久性(已提交的事務)。 Undo Log: 未提交的事務,獨立于表空間,需要隨機訪問,可以存儲在高性能io設備上。

Undo日志記錄某數據被修改前的值,可以用來在事務失敗時進行 rollback; Redo日志記錄某數據塊被修改后的值,可以用來恢復未寫入 data file的已成功事務更新的數據。

2.4.2 特性二:支持行級鎖

InnoDB支持行級鎖。行級鎖可以最大程度地支持并發。行級鎖是由存儲引擎層實現的。

2.5 什么是鎖

2.5.1 鎖

2.5.2 鎖類型

2.5.3 鎖的粒度

MySQL的事務支持不是綁定在MySQL服務器本身, 而是與存儲引擎相關

將table_name加表級鎖命令: locktable table_name write; 寫鎖會阻塞其它用戶對該表的‘讀寫'操作,直到寫鎖被釋放: unlock tables;

鎖的開銷越大,粒度越小,并發度越高。表級鎖通常是在服務器層實現的。行級鎖是存儲引擎層實現的。innodb的鎖機制,服務器層是不知道的

2.5.4 阻塞和死鎖

(1)阻塞是由于資源不足引起的排隊等待現象。 (2)死鎖是由于兩個對象在擁有一份資源的情況下申請另一份資源,而另一份資源恰好又是這兩對象正持有的,導致兩對象無法完成操作,且所持資源無法釋放。

2.6 如何選擇正確的存儲引擎

參考條件:

事務備份( Innobd免費在線備份)崩潰恢復存儲引擎的特有特性

總結: Innodb 大法好。

注意: 盡量別使用混合存儲引擎,比如回滾會出問題在線熱備問題。

2.7 配置參數

2.7.1 內存配置相關參數

確定可以使用的內存上限。

內存的使用上限不能超過物理內存,否則容易造成內存溢出;(對于32位操作系統,MySQL只能試用3G以下的內存。)

確定MySQL的 每個連接 單獨 使用的內存。

sort_buffer_size #定義了每個線程排序緩存區的大小,MySQL在有查詢、需要做排序操作時才會為每個緩沖區分配內存(直接分配該參數的全部內存)join_buffer_size #定義了每個線程所使用的連接緩沖區的大小,如果一個查詢關聯了多張表,MySQL會為每張表分配一個連接緩沖,導致一個查詢產生了多個連接緩沖read_buffer_size #定義了當對一張MyISAM進行全表掃描時所分配讀緩沖池大小,MySQL有查詢需要時會為其分配內存,其必須是4k的倍數;read_rnd_buffer_size #索引緩沖區大小,MySQL有查詢需要時會為其分配內存,只會分配需要的大小。

注意: 以上四個參數是為一個線程分配的,如果有100個連接,那么需要×100。

MySQL數據庫實例:

①MySQL是 單進程多線程(而oracle是多進程),也就是說 MySQL實例在系統上表現就是一個服務進程,即進程;

②MySQL實例是線程和內存組成,實例才是真正用于操作數據庫文件的;

一般情況下一個實例操作一個或多個數據庫;集群情況下多個實例操作一個或多個數據庫。

如何為緩存池分配內存:

Innodb_buffer_pool_size,定義了Innodb所使用緩存池的大小,對其性能十分重要,必須足夠大,但是過大時,使得Innodb 關閉時候需要更多時間把臟頁從緩沖池中刷新到磁盤中;

總內存-(每個線程所需要的內存*連接數)-系統保留內存

key_buffer_size,定義了MyISAM所使用的緩存池的大小,由于數據是依賴存儲操作系統緩存的,所以要為操作系統預留更大的內存空間;

select sum(index_length) from information_schema.talbes where engine='myisam'

注意: 即使開發使用的表全部是Innodb表,也要為MyISAM預留內存,因為MySQL系統使用的表仍然是MyISAM表。

max_connections 控制允許的最大連接數, 一般2000更大。

不要使用外鍵約束保證數據的完整性。

2.8 性能優化順序

從上到下:

您可能感興趣的文章:
  • MySQL Like模糊查詢速度太慢如何解決
  • mysql千萬級數據量根據索引優化查詢速度的實現
  • MySql索引提高查詢速度常用方法代碼示例
  • MySQL如何優化查詢速度
  • MySQL全文索引、聯合索引、like查詢、json查詢速度哪個快
  • mysql處理海量數據時的一些優化查詢速度方法
  • 如何提高MYSQL數據庫的查詢統計速度 select 索引應用
  • MySQL 查詢速度慢的原因

標簽:烏海 云浮 湖北 聊城 臨汾 湖南 白銀 武威

巨人網絡通訊聲明:本文標題《MySQL 查詢速度慢與性能差的原因與解決方法》,本文關鍵詞  MySQL,查詢,速度慢,與,性能,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL 查詢速度慢與性能差的原因與解決方法》相關的同類信息!
  • 本頁收集關于MySQL 查詢速度慢與性能差的原因與解決方法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    99re66热这里只有精品3直播| 9久草视频在线视频精品| 国产精品一二三区在线| 91精品国产一区二区三区蜜臀| 8x8x8国产精品| 午夜精品一区二区三区三上悠亚| 色噜噜狠狠成人中文综合| 中文字幕一区二区三| www.亚洲色图.com| 国产精品午夜在线观看| 99久久精品免费观看| 天堂va蜜桃一区二区三区| 亚洲青青青在线视频| 99精品黄色片免费大全| 91福利视频久久久久| 白白色 亚洲乱淫| 久久99国产精品免费| 成人开心网精品视频| 欧美日韩成人一区| 久久久www免费人成精品| www一区二区| 亚洲综合免费观看高清在线观看| 一二三四社区欧美黄| 亚洲国产美国国产综合一区二区| 久久精品男人天堂av| 亚洲成人一二三| 麻豆精品久久久| 欧美熟乱第一页| 免费av成人在线| 亚洲国产成人一区二区三区| av在线免费不卡| 一区二区在线观看免费视频播放| 99国产精品视频免费观看| 亚洲精品中文字幕在线观看| 欧美色综合久久| 国内精品久久久久影院色| 国产欧美精品国产国产专区| 91国产精品成人| 盗摄精品av一区二区三区| 国产精品久久久久一区| 欧美精品18+| 欧美色网站导航| 国产三级欧美三级日产三级99 | 欧美日韩国产另类一区| 国产呦精品一区二区三区网站| 亚洲精品国产视频| 日韩美女视频一区二区在线观看| 成人性生交大片| 激情综合色播五月| 日本不卡一区二区三区| 亚洲一区av在线| 国产精品免费av| 国产亚洲精品久| 国产农村妇女毛片精品久久麻豆 | 日本道精品一区二区三区 | 中文字幕精品一区二区三区精品| 欧美一级高清片| 久久综合九色综合欧美就去吻| 欧美肥妇毛茸茸| 7777女厕盗摄久久久| 精品国产三级a在线观看| 久久精品免视看| 国产精品国产精品国产专区不片| 国产香蕉久久精品综合网| 国产精品久久久久影院亚瑟| 夜夜精品视频一区二区| 久久国产精品72免费观看| 国产suv一区二区三区88区| 不卡的av电影| 欧美特级限制片免费在线观看| 91精品在线一区二区| 中文字幕一区二区三区在线播放| 亚洲国产日韩精品| 国内精品久久久久影院色| 在线视频你懂得一区| 久久久精品日韩欧美| 成人精品电影在线观看| 成人18视频日本| 日韩一级片网址| 亚洲精品欧美激情| 国产99久久精品| 久久奇米777| 久久精品999| 在线观看视频欧美| 久久久久99精品国产片| 日本欧美大码aⅴ在线播放| 欧洲国内综合视频| 亚洲色图20p| 91亚洲精品乱码久久久久久蜜桃 | 国产精品99久| 337p日本欧洲亚洲大胆精品| 日日嗨av一区二区三区四区| 在线一区二区观看| 亚洲综合在线五月| 在线观看不卡一区| 婷婷综合久久一区二区三区| 日本道色综合久久| 国产精品久久久久久久久动漫| 懂色av一区二区三区免费观看| 精品国产91乱码一区二区三区 | 国产91丝袜在线18| 中日韩av电影| 欧美人成免费网站| 激情综合色综合久久综合| 国产日韩精品一区| 欧美亚洲动漫精品| 国产综合久久久久影院| 综合分类小说区另类春色亚洲小说欧美| 成人av一区二区三区| 日韩国产精品大片| 中文字幕av一区二区三区免费看 | 欧洲色大大久久| 日韩av一级片| 欧美国产综合一区二区| 91蝌蚪国产九色| 精一区二区三区| 亚洲综合自拍偷拍| 欧美韩日一区二区三区四区| 欧美午夜一区二区| 成人综合婷婷国产精品久久免费| 国产精品国产自产拍高清av | 91麻豆免费看片| 韩国精品一区二区| 亚洲精品国产品国语在线app| 久久亚洲捆绑美女| 日韩视频永久免费| 欧美日韩精品一区二区三区蜜桃 | 久久欧美一区二区| 在线看不卡av| 国产福利一区二区三区| 黑人精品欧美一区二区蜜桃| 亚洲激情五月婷婷| 亚洲精品中文字幕在线观看| 亚洲欧美日韩国产一区二区三区 | 99久久精品久久久久久清纯| 久久精品国产精品亚洲综合| 性欧美大战久久久久久久久| 一二三区精品视频| 亚洲一区在线电影| 亚洲一区二区在线视频| 国产精品美女久久久久aⅴ | 欧美亚洲国产一区二区三区va | 中文字幕+乱码+中文字幕一区| av资源网一区| 久久av老司机精品网站导航| 爽爽淫人综合网网站| 亚洲国产一二三| 日韩精品高清不卡| 久久综合网色—综合色88| 欧美精品乱码久久久久久| 欧美伦理影视网| 欧美疯狂性受xxxxx喷水图片| 91成人免费网站| 在线观看91av| 久久综合国产精品| 亚洲视频香蕉人妖| 日日摸夜夜添夜夜添国产精品| 日本亚洲欧美天堂免费| 久久国产精品72免费观看| 成人免费av在线| 欧美图片一区二区三区| 欧美国产精品劲爆| 亚洲成年人影院| 国产成人av自拍| 亚洲免费av高清| 国产一区二区福利视频| 91麻豆精品一区二区三区| 一本高清dvd不卡在线观看| 欧美日韩午夜在线视频| 国产女同互慰高潮91漫画| 亚洲精品高清视频在线观看| 蜜桃视频在线一区| 粉嫩久久99精品久久久久久夜| 欧美日韩精品久久久| 26uuu另类欧美| 国产精品免费免费| 精品在线播放免费| 欧美偷拍一区二区| 99re成人在线| 亚洲一二三区不卡| 国产精品一线二线三线精华| 91久久免费观看| 国产精品传媒入口麻豆| 国产99一区视频免费| 精品免费视频.| 粉嫩13p一区二区三区| 精品一区二区三区欧美| 成人小视频免费观看| 国产精品毛片大码女人| 麻豆国产一区二区| 亚洲成人激情社区| 欧美性极品少妇| 亚洲美女少妇撒尿| 99re亚洲国产精品| 成人欧美一区二区三区黑人麻豆 | 免费成人小视频| 中文字幕一区二区三区不卡在线| 国产大片一区二区| 一区二区三区免费网站| 男女男精品视频|