• <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數據庫中對前端和后臺進行系統優化

    發表于:2008-04-24來源:作者:點擊數: 標簽:數據庫MySQLMysql系統后臺
    本文中介紹的系統優化,主要針對前端和后臺這兩方面(后臺方面主要對 SQL 語句和數據存儲進行了優化),下文中我們將介紹一些優化技巧和經驗。 技巧: 1. 如何查出效率低的語句? 在MySQL下,在啟動參數中設置 --log-slow-queries=[文件名],就可以在指定的日
    本文中介紹的系統優化,主要針對前端和后臺這兩方面(后臺方面主要對SQL語句和數據存儲進行了優化),下文中我們將介紹一些優化技巧和經驗。

      技巧:

      1. 如何查出效率低的語句?

      在MySQL下,在啟動參數中設置 --log-slow-queries=[文件名],就可以在指定的日志文件中記錄執行時間超過long_query_time(缺省為10秒)的SQL語句。你也可以在啟動配置文件中修改long query的時間,如:

      # Set long query time to 8 seconds
      long_query_time=8

      2. 如何查詢某表的索引?

      可使用SHOW INDEX語句,如:

      SHOW INDEX FROM [表名]

      3. 如何查詢某條語句的索引使用情況?

      可用EXPLAIN語句來看一下某條SELECT語句的索引使用情況。如果是UPDATE或DELETE語句,需要先轉換為SELECT語句。

      4. 如何把導出INNODB引擎的內容到錯誤日志文件中?

      我們可以使用SHOW INNODB STATUS命令來查看INNODB引擎的很多有用的信息,如當前進程、事務、外鍵錯誤、死鎖問題和其它一些統計數據。如何讓該信息能記錄在日志文件中 呢?只要使用如下語句創建innodb_monitor表,MySQL就會每15秒鐘把該系統寫入到錯誤日志文件中:

      CREATE TABLE innodb_monitor (a INT) ENGINE=INNODB;

      如果你不再需要導出到錯誤日志文件,只要刪除該表即可:

      DROP TABLE innodb_monitor;

      5. 如何定期刪除龐大的日志文件?

      只要在啟動配置文件中設置日志過期時間即可:

      expire_logs_days=10

      注意事項:

      1. 重點關注索引

      下面以表TSK_TASK表為例說明SQL語句優化過程。TSK_TASK表用于保存系統監測任務,相關字段及索引如下:

      ID:主鍵;
      MON_TIME:監測時間;建了索引;
      STATUS_ID:任務狀態;與SYS_HIER_INFO.ID建立了外鍵關系。

      注MySQL自動會為外鍵建立索引,在本次優化過程中,發現這些自動建立的外鍵索引會對SQL語句的效率產生不必要的干擾,需要特別注意!

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品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>