成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深入MySQL優化:提升數據庫性能的關鍵策略

數據庫 MySQL
在現代互聯網場景下,其實很少需要在一個事務中對同一行數據讀取兩次的情況,RR隔離級別實用性不高,而且因為加了間隙鎖和Next-Key Lock,性能有所降低,死鎖概率也相對較高。

MySQL優化

從設計上,可根據需要:分庫分表、讀寫分離、冷熱分離、使用緩存、定期進行數據清理。

從客戶端使用上,使用連接池、避免大事務、返回數據多使用物理分頁。

從優化MySQL配置文件上,調整MySQL配置文件中的參數,如緩沖區大小、最大連接數等,以適應應用程序的需要。

從優化表結構上,使用合適的存儲引擎;避免使用大型或不必要的列,并盡可能使用小型數據類型;盡量把字段設置為NOT NULL;對于某些文本字段來說,例如“省份”或者“性別”,我們可以將他們定義為ENUM(枚舉)類型。因為在MySQL中,ENUM類型被當做數值型數據來處理,而數值型數據被處理起來的速度要比文本類型要快得多。

從優化查詢上,善用EXPLAIN查看SQL執行計劃;使用連接(JOIN)來代替子查詢,減少在內存中創建臨時表;盡量用union all代替union減少排序;利用小表去驅動大表,減少嵌套循環中的循環次數,以減少 IO總量及CPU運算的次數;善用索引。 

查詢在什么時候不走索引、索引失效 

1.不滿足走索引的條件,常見的情況有 

1.1 不滿足最左匹配原則 

1.2 查詢條件使用了函數 

1.3 or操作有一個字段沒有索引 

1.4 使用like條件以%開頭 

1.5 顯式或隱式類型轉換導致索引失效 

1.6 存在范圍查詢,比如between、>、<等條件時,會造成后面的索引字段失效 

2.走索引效率低于全表掃描,常見的情況有 

2.1 查詢條件對null做判斷,而null的值很多   

2.2 一個字段區分度很小,比如性別、狀態 

3.需要回表的查詢結果集過大,超過了配置的范圍 

Explain解釋 

type列,連接類型。一個好的SQL語句至少要達到range級別。杜絕出現all級別。 

key列,使用到的索引名。如果沒有選擇索引,值是NULL。可以采取強制索引方式。 

key_len列,索引長度

rows列,掃描行數。該值是個預估值。 

extra列,詳細說明。注意,常見的不太友好的值,如下:Using filesort,Using temporary。 

如何解決大事務問題? 

解決大事務問題常規的方法有:避免遠程調用、避免一次性處理太多數據、覆蓋方法粒度盡量小。

具體到解決問題,需要考慮是什么、為什么、怎么辦三個方面。

是什么是要界定大事務。比如可以把大事務分成了三個級別,分別是1s以上,500ms以上和100ms以上。1s以上會嚴重影響數據庫性能,有很大概率會造成整體鏈路超時,是重要緊急的。之前通過事務中不包含外部調用之后,偶爾會有100ms左右的大事務,超過120ms的基本沒有。這些我們記錄在一個文檔中,在涉及其他相關修改時,一起通過梳理邏輯優化解決。

如果把RR改成RC需要注意哪些問題?

在現代互聯網場景下,其實很少需要在一個事務中對同一行數據讀取兩次的情況,RR隔離級別實用性不高,而且因為加了間隙鎖和Next-Key Lock,性能有所降低,死鎖概率也相對較高。在歷史上,RR確實解決了mysql主從復制時的一個問題。在早期的mysql版本中,只有statement這種bin log格式,這時候,如果使用提交讀(Read Committed)、未提交讀(Read Uncommitted)這兩種隔離級別會因為回放順序而出現與主庫數據不一致。MySQL是在5.1.5版本開始支持row的、在5.1.8版本中開始支持mixed,后面這兩種可以代替 statement格式。RC 隔離級別只支持row格式的binlog。如果指定了mixed作為 binlog 格式,那么如果使用RC,服務器會自動使用基于row 格式的日志記錄。 


責任編輯:武曉燕 來源: 編程一生
相關推薦

2024-07-23 08:08:18

2009-06-30 22:31:23

關鍵參數MySQL性能優化

2010-11-15 16:13:24

Oracle數據庫性能

2010-04-20 10:49:45

Oracle數據庫

2012-11-21 17:35:21

Oracle技術嘉年華

2013-03-29 09:28:41

2024-09-04 14:28:20

Python代碼

2023-09-26 12:02:34

C++循環

2011-03-08 08:49:55

MySQL優化單機

2023-12-14 12:56:00

MongoDB數據庫優化

2013-09-17 10:32:08

Android性能優化數據庫

2009-03-30 14:19:26

優化數據庫MySQL

2011-03-28 15:44:45

惠普數據庫Oracle數據庫

2010-05-31 16:17:56

MySQL數據庫性能

2010-06-02 13:58:30

MySQL數據庫性能

2010-05-21 13:48:36

MySQL數據庫

2024-01-18 09:43:11

MySQL數據庫

2011-03-03 17:56:52

MySQL數據庫優化

2011-05-20 10:30:20

ORACLE數據庫性能優化

2011-05-18 09:39:19

Oracle數據庫性能優化
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产真实精品久久二三区 | 欧美激情亚洲 | 超级乱淫av片免费播放 | 人成久久 | 欧美成人在线网站 | 黄色在线免费观看视频网站 | 波波电影院一区二区三区 | 国产成人jvid在线播放 | 看一级毛片视频 | 精品久久一区 | 婷婷国产一区二区三区 | 高清久久久 | 亚洲444kkkk在线观看最新 | 91pao对白在线播放 | 91精品国产91久久久久久吃药 | 一个色在线 | 欧美一级毛片在线播放 | 中文字幕在线一区二区三区 | 精品视频一区二区 | 一区二区片 | 日日摸夜夜爽人人添av | 在线观看国产 | 国产亚洲第一页 | 国产精品天堂 | 国产精品久久久久久久久大全 | 国产精品欧美一区二区 | 欧美国产免费 | www.久草.com | 色频| 久久国内精品 | 久久美女视频 | 欧美成人一级 | 国产91在线播放 | 国产精品久久久久久久久久久新郎 | 亚洲欧美成人影院 | 精品国产欧美一区二区三区成人 | 欧美综合精品 | 99在线视频观看 | 久久一二| 欧美福利影院 | 最新日韩欧美 |