• <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系統變量專題學習

    發表于:2013-10-12來源:IT博客大學習作者:Benwin點擊數: 標簽:MySQL
    要深入研究mysql那首先對mysql的一些系統/擴展變量有一定的了解,因為這些變量不僅決定mysql一些配置信息,還影響了mysql的性能優化提升,其中包括安全、優化、并發、復制等等。

      要深入研究mysql那首先對mysql的一些系統/擴展變量有一定的了解,因為這些變量不僅決定mysql一些配置信息,還影響了mysql的性能優化提升,其中包括安全、優化、并發、復制等等。

      筆者上網查了一下,這些資料有限,以及官網的一個中文文檔介紹的內容簡短(不包括值域,作用域,有些變量壓根沒翻譯只是給出值)所以想寫篇文章,一來學習鞏固一下mysql,二來方便以后查閱。其中內容筆者前后用了14天,盡量查閱大量資料(問人,網上查閱,自己測試)以確保盡可能正確,且有些直接從官網英文文檔翻譯過來,但難免會出現因為知識結構不全面而有什么紕漏。

      PS:

      一、想知道有那些變量(系統變量、狀態變量、集群變量、日志變量…),在mysqladmin 中輸入:“mysqladmin -u 用戶 -p 密碼variable” 或者在mysql命令端用“show variables”顯示

      二、以下所有測試的環境:win7、mysql 5.1.49-community-log

      三、以下變量中的作用域有全局、會話,值域表示變量值的范圍(這些是中文文檔鎖沒有的)

      1、 log_slow_queries | OFF/ON

      慢查詢記錄日志,慢查詢是指查詢時間超過設定時間(如下面設為2秒)的查詢,(還有個指標是第29點的min_examined_row_limit)這個可以記錄那些查詢語句比較慢,然后通過分析語句而優化數據庫或查詢語句。具體配置在my.ini加入:

      log_show_queries = “日志路徑/文件名” #保存日志的路徑和文件名,確保權限可寫

      long_query_time = 2 #超過多少秒則保存查詢數據

      log-queries-not-using-indexs #不使用使用索引

      PS:加上代碼后重啟mysql后log_slow_queries=ON狀態(默認OFF)

      測試:select * from zd_ask;

      結果:在指定的文件里面記錄如下

      C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld, Version: 5.1.49-community-log (MySQL Community Server (GPL)). started with:

      TCP Port: 3306, Named Pipe: (null)

      Time Id Command Argument

      # Time: 120425 20:40:49

      # User@Host: root[root] @ localhost [127.0.0.1]

      # Query_time: 0.452026 Lock_time: 0.187010 Rows_sent: 12408 Rows_examined: 12408

      use bus7zd;

      SET timestamp=1335357649;

      select * from zd_ask;

      說明:超過時間的查詢語句:select * from zd_ask; 查到的結果數:12408 時間:0.452026 其他就是環境信息。

      作用域:全局

      -------------------------------------------------

      2、log_warnings | 1

      默認值為1,表示在錯誤日志當中添加更多日志,日至格式:

      120426 11:55:09 [Worning]內容,上網查了一下,國內這個變量的資料少得可憐,查看官網英文文檔,會把一些斷開鏈接的錯誤寫進錯誤日志里面。

      可以在配置文件my.ini 加入skip-log-warnings=1來停止log_warning 的使用, skip-log-warnings=1后在mysqladmin 里面用”mysqladmin -u 用戶名-p 密碼 variables”查看,會發現log_warning的值是0而不是默認的1.

      作用域:全局

      --------------------------------------------------

      3、long_query_time | 10.000000

      這是和log_slow_queries一起使用的,它是設置慢查詢時間,若值是0.2,則查詢大于0.2秒的定為慢查詢。如果啟用了慢查詢日志,則會把慢查詢的信息寫如慢查詢日志文件中。具體可以查看

      作用域:全局 、會話

      本文第一點。慢查詢:http://www.phpben.com/?post=67

      -------------------------------------------------

      4、 low_priority_updates | OFF

      這個變量是降低mysql寫數據的權限的,mysql默認情況下寫操作權限高于讀操作。附加一些知識:在mysql MYISAM表中讀寫是串行,即是select時鎖表,insert等待釋放再,反之一樣。然后為了減少鎖存和鎖讀的頻率,則引入了concurrent_insert這個變量,使讀寫能并行操作(具體根據concurrent_insert值還有mysql版本而定)

      作用域:全局 、會話

      在mysql5.06版本之后,concurrent_insert=0則讀(select)的時候不能執行寫(insert)concurrent_insert=1則select時寫操作把數據寫在文件,concurrent_insert=2和1差不多,不同的是:1在數據沒內存碎片(洞)才能寫在文件尾,否則還是寫在洞里;而2則是在select時并發寫入文件尾,當select釋放讀鎖時,數據寫入洞里面。---推薦用current_insert=2

      官網描述:

    Value

    Description

    0

    Disables concurrent inserts

    1

    (Default) Enables concurrent insert for MyISAM tables that do not have holes

    2

    Enables concurrent inserts for all MyISAM tables, even those that have holes. For a table with a hole, new rows are inserted at the end of the table if it is in use by another thread. Otherwise, MySQL acquires a normal write lock and inserts the row into the hole.

    原文轉自:http://blogread.cn/it/article/5968

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