• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    一次MySQL性能優化實戰

    發布: 2009-10-20 10:46 | 作者: 不詳 | 來源: 領測軟件測試網采編 | 查看: 43次 | 進入軟件測試論壇討論

    領測軟件測試網

    一次MySQL性能優化實戰  MySQL數據庫

    關鍵字:MySQL 性能優化

     

      【IT168 技術文檔】過年這段時間由于線上數據庫經常壓力過大導致響應非常緩慢甚至死機,咬咬牙下大決心來解決效率不高的問題!

      首先是由于公司秉承快速開發原則,頻繁上線,導致每次忽視了性能問題!日積月累,所以導致系統越來越慢,所以如果你的系統查詢語句本來就優化的很好了可能參考意義不大!

      提取慢查詢日志文件,應該在你的DataDir目錄下面

      通過程序處理慢查詢文件,將文件格式的慢查詢導入到數據庫中:

    1 mysql> desc slow_query;
    2 +---------------+-------------+------+-----+---------+-------+
    3 | Field         | Type        | Null | Key | Default | Extra |
    4 +---------------+-------------+------+-----+---------+-------+
    5 | Date          | varchar(32) | NO   |     |         |       | 查詢發生的時間
    6 | user          | varchar(64) | NO   |     |         |       |
    7 | host          | varchar(64) | NO   |     |         |       |
    8 | content       | text        | NO   |     |         |       | 將Statement進行Mask后的語句,便于Group By
    9 | query_time    | int(11)     | NO   |     |         |       | 查詢所用時間,直接性能指標
    10 | lock_time     | int(11)     | YES  |     | 0       |       | 等待鎖定的時間
    11 | rows_sent     | int(11)     | YES  |     | 0       |       | 返回的結果行數
    12 | rows_examined | int(11)     | YES  |     | 0       |       | 掃描行數(很重要,上萬以后就要重點注意了
    13 | statement     | text        | YES  |     | NULL    |       | 實際查詢語句
    14 +---------------+-------------+------+-----+---------+-------+

      然后發揮您的想象力在這個表中盡力捕捉你想捕捉的,那類型語句壓力最大、掃描行數最多、等鎖最久……

      比如:

      優化后:

    1 mysql> select sum(query_time)/count(*),count
    2 (*),sum(query_time),min(Date),Max(Date) from slow where Date>'2008-02-20 22:50:52' and  Date<'2008-02-21 17:34:35';
    3 +--------------------------+----------+-----------------+---------------------+---------------------+
    4 | sum(query_time)/count(*) | count(*) | sum(query_time) | min(Date)           | Max(Date)           |
    5 +--------------------------+----------+-----------------+---------------------+---------------------+
    6 |                   5.7233 |     2197 |           12574 | 2008-02-20 22:51:16 | 2008-02-21 17:34:10 |
    7 +--------------------------+----------+-----------------+---------------------+---------------------+
    8 1 row in set (0.09 sec)

      優化前:

    1 mysql> select sum(query_time)/count(*),count(*),sum(query_time),min(Date),Max(Date) from slow where Date>'2008-02-17 22:50:52' and  Date<'2008-02-18 17:34:35';
    2 +--------------------------+----------+-----------------+---------------------+---------------------+
    3 | sum(query_time)/count(*) | count(*) | sum(query_time) | min(Date)           | Max(Date)           |
    4 +--------------------------+----------+-----------------+---------------------+---------------------+
    5 |                   2.5983 |    16091 |           41810 | 2008-02-17 22:50:58 | 2008-02-18 17:34:34 |
    6 +--------------------------+----------+-----------------+---------------------+---------------------+
    7 1 row in set (0.15 sec)

      

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: MySQL Mysql mysql mySQL MYSQL MySql MYsql 實戰 性能

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>