最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL數(shù)據(jù)庫的性能優(yōu)化

 更新時間:2023年04月11日 11:28:49   作者:奔赴在自己的熱愛中  
這篇文章主要介紹了MySQL數(shù)據(jù)庫的性能優(yōu)化,文中介紹的非常詳細,一定的參考價值,感興趣的同學(xué)可以參考閱讀

一、MySQL數(shù)據(jù)庫的優(yōu)化目標(biāo)、基本原則:

1、優(yōu)化目標(biāo):

MySQL數(shù)據(jù)庫是常見的兩個瓶頸是CPU和I/O的瓶頸,無論是索引優(yōu)化、還是表結(jié)構(gòu)優(yōu)化,參數(shù)優(yōu)化,最后都可以歸納到這這兩個分類中:

(1)減少 I/O 次數(shù):

I/O是數(shù)據(jù)庫最容易瓶頸的地方,大部分數(shù)據(jù)庫操作中超過90%的時間都是 IO 操作所占用的,減少 IO 次數(shù)是 SQL 優(yōu)化中需要第一優(yōu)先考慮,當(dāng)然,也是效果最明顯的優(yōu)化手段。

(2)降低 CPU 計算:

除了 IO 瓶頸之外,SQL優(yōu)化中需要考慮的就是 CPU 運算量的優(yōu)化了。order by,group by,distinct … 都是消耗 CPU 的大戶(這些操作基本上都是 CPU 處理內(nèi)存中的數(shù)據(jù)比較運算)。當(dāng)我們的 IO 優(yōu)化做到一定階段之后,降低 CPU 計算也就成為了我們 SQL 優(yōu)化的重要目標(biāo)。

2.基本原則:

1).優(yōu)先優(yōu)化高并發(fā)的 SQL,而不是執(zhí)行頻率低某些“大”SQL

對于破壞性來說,高并發(fā)的 SQL 總是會比低頻率的 SQL 來得大,因為高并發(fā)的 SQL 一旦出現(xiàn)問題,甚至不會給我們?nèi)魏未⒌臋C會就會將系統(tǒng)壓跨。而對于一些雖然需要消耗大量 IO 而且響應(yīng)很慢的 SQL,由于頻率低,即使遇到,最多就是讓整個系統(tǒng)響應(yīng)慢一點,但至少可能撐一會兒,讓我們有緩沖的機會

2).從全局出發(fā)優(yōu)化,而不是片面調(diào)整

SQL 優(yōu)化不能是單獨針對某一個進行,而應(yīng)充分考慮系統(tǒng)中所有的 SQL,尤其是在通過調(diào)整索引優(yōu)化 SQL 的執(zhí)行計劃的時候

3).盡可能對每一條運行在數(shù)據(jù)庫中的SQL進行 explain

優(yōu)化 SQL,知道 SQL 的執(zhí)行計劃判斷是否有優(yōu)化余地,判斷是否存在執(zhí)行計劃問題。
進行大量的 explain 操作收集執(zhí)行計劃,并判斷是否需要進行優(yōu)化

二、定位分析SQL語句的性能瓶頸:

1、通過show status 命令了解各種SQL的執(zhí)行效率:

show [session | global] status;

可以根據(jù)需要加上參數(shù)來顯示session級(當(dāng)前連接,默認)和global級(自數(shù)據(jù)庫上次啟動至今)的統(tǒng)計結(jié)果。

show status like ‘Com_%’; —顯示當(dāng)前連接所有統(tǒng)計參數(shù)的值。
Com_xxx表示每個xxx語句執(zhí)行的次數(shù),通常需要注意的是下面幾個參數(shù):

Com_select/Com_insert/Com_update/Com_delete

2、定位執(zhí)行效率較低的SQL語句

(1)通過show processlist命令實時查看當(dāng)前SQL的執(zhí)行情況;
(2)通過慢查詢?nèi)罩径ㄎ怀霈F(xiàn)的問題

3、通過explain分析慢SQL的執(zhí)行計劃

4、通過show profile 分析SQL的具體耗時瓶頸

通過secect @have_profiling命令能夠看到當(dāng)前MySQL是否支持profile;
通過show profiles我們能夠更清楚了解SQL執(zhí)行的過程;
通過show profile for query我們能看到執(zhí)行過程中線程的每個狀態(tài)和消耗的時間。

三、數(shù)據(jù)庫的優(yōu)化方法:

1、設(shè)計符合范式的數(shù)據(jù)庫
2、選擇合適的存儲引擎
3、SQL表結(jié)構(gòu)、字段優(yōu)化
4、SQL語句優(yōu)化與索引優(yōu)化
5、讀寫分離:主數(shù)據(jù)庫負責(zé)寫操作,從數(shù)據(jù)庫負責(zé)讀操作
6、分庫分表:垂直切分與水平切分
7、分區(qū):將表的數(shù)據(jù)按照特定的規(guī)則放在不同的分區(qū),提高磁盤的IO效率,提高數(shù)據(jù)庫的性能
8.數(shù)據(jù)庫參數(shù)優(yōu)化:IO參數(shù)、CPU參數(shù)
9.數(shù)據(jù)庫集群
10.硬件配置升級

相關(guān)文章

  • MySQL連接時出現(xiàn)2003錯誤的實現(xiàn)

    MySQL連接時出現(xiàn)2003錯誤的實現(xiàn)

    本文主要介紹了MySQL連接時出現(xiàn)2003錯誤的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • mysql的虛擬表(DUAL)的介紹及使用場景

    mysql的虛擬表(DUAL)的介紹及使用場景

    本文主要介紹了mysql的虛擬表(DUAL)的介紹及使用場景,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-04-04
  • Mysql數(shù)據(jù)庫安裝完成后需要進行的6個后續(xù)操作

    Mysql數(shù)據(jù)庫安裝完成后需要進行的6個后續(xù)操作

    這篇文章主要介紹了Mysql數(shù)據(jù)庫安裝完成后需要進行的6個操作,即安裝完成后的后續(xù)操作,需要的朋友可以參考下
    2014-06-06
  • PHP中ORDER BY子句的詳細用法教程

    PHP中ORDER BY子句的詳細用法教程

    這篇文章主要介紹了PHP中ORDER BY子句的詳細用法教程,文中提供了PHP腳本下的操作示例,是MySQL入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05
  • mysql查看用戶權(quán)限常用的方法

    mysql查看用戶權(quán)限常用的方法

    MySQL是一個流行的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng),具有強大的功能和靈活的用戶權(quán)限控制機制,這篇文章主要給大家介紹了關(guān)于mysql查看用戶權(quán)限常用的方法,需要的朋友可以參考下
    2024-03-03
  • MySQL遠程無法連接的一些常見原因總結(jié)

    MySQL遠程無法連接的一些常見原因總結(jié)

    有的小伙伴發(fā)現(xiàn)自己的mysql無法正常連接遠程服務(wù)器,下面這篇文章主要給大家介紹了關(guān)于MySQL遠程無法連接的一些常見原因,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • 寶塔面板mysql無法啟動問題的分析和解決

    寶塔面板mysql無法啟動問題的分析和解決

    在使用寶塔linux面板一鍵安裝LNMP的是,數(shù)據(jù)庫mysql始終無法啟動,查查找找用了幾個小時,問題終于解決了,下面這篇文章主要給大家介紹了關(guān)于寶塔面板mysql無法啟動問題的分析和解決方法,需要的朋友可以參考下
    2023-04-04
  • Mysql添加聯(lián)合唯一索引及相同數(shù)據(jù)插入報錯問題

    Mysql添加聯(lián)合唯一索引及相同數(shù)據(jù)插入報錯問題

    這篇文章主要介紹了Mysql添加聯(lián)合唯一索引及相同數(shù)據(jù)插入報錯問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • MySQL 可擴展設(shè)計的基本原則

    MySQL 可擴展設(shè)計的基本原則

    可擴展設(shè)計是一個非常復(fù)雜的系統(tǒng)工程,所涉及的各個方面非常的廣泛,技術(shù)也較為復(fù)雜,可能還會帶來很多其他方面的問題。但不管我們?nèi)绾卧O(shè)計,不管遇到哪些問題,有些原則我們還是必須確保的。
    2021-05-05
  • Oracle與MySQL的區(qū)別詳解

    Oracle與MySQL的區(qū)別詳解

    MySQL和Oracle Database都是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),本文主要介紹了MySQL和Oracle Database的區(qū)別及優(yōu)缺點是什么,感興趣的小伙伴歡迎閱讀
    2023-04-04

最新評論

开封市| 怀集县| 合水县| 乌拉特后旗| 鄂伦春自治旗| 阿瓦提县| 慈溪市| 德昌县| 无极县| 江山市| 根河市| 文安县| 军事| 大方县| 蒲城县| 岗巴县| 宁陕县| 罗江县| 义马市| 教育| 日照市| 根河市| 镇原县| 克东县| 合山市| 大同市| 淮北市| 云梦县| 怀化市| 拜城县| 秦皇岛市| 云霄县| 美姑县| 陕西省| 申扎县| 治县。| 潼关县| 荆门市| 邹城市| 鹤壁市| 金寨县|