在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子百科>通信技術>數據通信>

幫助優化MySQL數據庫性能的7個技巧

2017年11月30日 15:03 網絡整理 作者:Peter Zaitsev 用戶評論(0

譯者注: 隨著尺寸和負載的增長,MySQL的性能會趨于下降。記住這些訣竅,便可保持MySQL的流暢運行。

?

測量應用程序的方法之一是看性能。而性能的指標之一便是用戶體驗,通俗的說法就是“用戶是否需要等待更長的時間才能得到他們想要的東西”。

這個指標在不同的應用場合而有所改變。對于移動購物應用,響應時間不能超過幾秒鐘。對于員工的人力資源頁面,可能需要多花幾秒鐘的時間。

有很多關于性能如何影響用戶行為的研究:

79%的客戶不太可能回到慢速網站

47%的消費者希望網頁在2秒或更短的時間內完成加載

40%的用戶在網站加載時間超過3秒時會放棄

頁面加載時間的1秒延遲可能會導致7%的損失,頁面瀏覽量減少11%

無論采用何種標準,都必須保持良好的應用性能。否則,用戶會抱怨(或者更糟的是,轉到不同的應用程序)。影響應用程序性能的因素之一是數據庫性能。應用程序、網站和數據庫之間的交互對于建立應用程序性能的好壞至關重要。

這種交互的一個核心組件是應用程序如何查詢數據庫以及數據庫如何響應請求。無論如何,MySQL都是最受歡迎的數據庫管理系統之一。在生產環境中,越來越多的企業正在轉向使用MySQL(和其他開源數據庫)作為數據庫解決方案。

有許多配置MySQL的方法可以幫助確保數據庫對查詢作出快速響應,并使應用程序性能降低到最低限度。

以下是幫助優化MySQL數據庫性能的一些基本技巧。

優化技巧 #1:學習如何使用 EXPLAIN

使用任何數據庫所做的兩個最重要的決定是設計應用程序實體之間的關系如何映射到表(數據庫模式),以及設計應用程序如何以所需的格式獲得所需的數據(查詢)。

復雜的應用程序可以有復雜的模式和查詢。如果想得到應用程序所需要的性能和擴展性,不能僅僅依靠直覺來理解如何執行查詢。

應該學習如何使用EXPLAIN命令,而不是隨意的猜測和想象。此命令展示了如何執行查詢,并讓您了解所期望的性能,以及查詢將如何隨著數據大小的變化而伸縮。

有許多工具–比如MySQLWorkbench–可以可視化EXPLAIN輸出,但仍然需要理解基礎知識才能理解它。

EXPLAIN命令提供輸出的有兩種不同的格式:老式的表格式和更現代的結構化JSON文檔,它提供了更多的細節(如下所示):

mysql> explain format=json select avg(k) from sbtest1 where id between 1000 and 2000 G *************************** 1. row *************************** EXPLAIN: { “query_block”: { “select_id”: 1, “cost_info”: { “query_cost”: “762.40” }, “table”: { “table_name”: “sbtest1”, “access_type”: “range”, “possible_keys”: [ “PRIMARY” ], “key”: “PRIMARY”, “used_key_parts”: [ “id” ], “key_length”: “4”, “rows_examined_per_scan”: 1874, “rows_produced_per_join”: 1874, “filtered”: “100.00”, “cost_info”: { “read_cost”: “387.60”, “eval_cost”: “374.80”, “prefix_cost”: “762.40”, “data_read_per_join”: “351K” }, “used_columns”: [ “id”, “k” ], “attached_condition”: “(`sbtest`.`sbtest1`.`id` between 1000 and 2000)” } } }

應該查看的一個組件是“query cost”。query cost是指MySQL根據查詢執行的總開銷來考慮這個特定查詢的代價,并且基于許多不同的因素。

簡單查詢的查詢開銷通常小于1,000。開銷在1,000到100,000之間的查詢被認為是中等開銷的查詢,而且如果每秒只運行數百個這樣的查詢(而不是數萬個),通常會比較快。

開銷超過100,000的查詢可以當作是昂貴的。通常,當您是系統上的單個用戶時,這些查詢仍會快速運行,但您應該仔細考慮在交互式應用程序中使用此類查詢的頻率(尤其是隨著用戶數量的增長)。

當然,這些數字只是性能的一個大概的體現,但它們展示了一般原則。您的系統可能更好地處理查詢工作負載,也可能更糟,這取決于其體系結構和配置。

決定查詢開銷的主要因素是查詢是否正確使用索引。EXPLAIN 命令可以告訴您查詢是否使用索引(通常是因為索引是如何在數據庫中創建的,或者查詢本身是如何設計的)。這就是為什么學會使用 EXPLAIN 是如此重要。

優化技巧 #2:創建正確的索引

索引通過減少查詢必須掃描的數據庫中的數據量來提高查詢效率。MySQL中的索引用于加速數據庫中的訪問,并幫助執行數據庫約束(如 UNIQUE和FOREIGN KEY )。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

( 發表人:郭婷 )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      主站蜘蛛池模板: 韩国男女无遮挡高清性视频 | 亚洲欧洲精品成人久久曰影片 | 91啪免费网站在线观看 | 天天做天天爱天天综合网 | 在线视频 二区 | 国产免费爽爽视频免费可以看 | 免费a级午夜绝情美女视频 免费jlzzjlzz在线播放视频 | 在线视频亚洲欧美 | toyota东热综合网 | 91精品国产免费久久久久久青草 | 三级精品 | 免费午夜网站 | 久久久久久人精品免费费看 | 好深好爽视频 | 97久久天天综合色天天综合色hd | 日韩在线免费看网站 | 97久久精品国产精品青草 | 天天摸天天操免费播放小视频 | 国产美女精品三级在线观看 | 国产精品一区牛牛影视 | 欧美性网站 | 女人张开双腿让男人桶完整 | 国产黄视频在线观看 | 日本一道高清不卡免费 | 午夜cao| 欧美影院一区二区三区 | 国产午夜视频在线观看 | 婷婷在线五月 | 深夜久久| 曰本在线 | 激情五月综合网 | 我色综合 | 婷婷六月丁香色婷婷网 | 亚洲免费资源 | 国产馆精品推荐在线观看 | 爱插综合网 | 美女又黄又免费的视频 | 天天狠狠 | 国产亚洲精品成人一区看片 | 一级日本大片免费观看视频 | 狠狠操狠狠摸 |