<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        MySQL優化簡明指南淺析_MySQL

        來源:懂視網 責編:小采 時間:2020-11-09 17:03:32
        文檔

        MySQL優化簡明指南淺析_MySQL

        MySQL優化簡明指南淺析_MySQL:MySQL優化 一、在編譯時優化MySQL 如果你從源代碼分發安裝MySQL,要注意,編譯過程對以后的目標程序性能有重要的影響,不同的編譯方式可能得到類似的目標文件,但性能可能相差很大,因此,在編譯安裝MySQL適應仔細根據你的應用類型選擇最可能好的編譯選項
        推薦度:
        導讀MySQL優化簡明指南淺析_MySQL:MySQL優化 一、在編譯時優化MySQL 如果你從源代碼分發安裝MySQL,要注意,編譯過程對以后的目標程序性能有重要的影響,不同的編譯方式可能得到類似的目標文件,但性能可能相差很大,因此,在編譯安裝MySQL適應仔細根據你的應用類型選擇最可能好的編譯選項

        MySQL優化


          一、在編譯時優化MySQL
          
          如果你從源代碼分發安裝MySQL,要注意,編譯過程對以后的目標程序性能有重要的影響,不同的編譯方式可能得到類似的目標文件,但性能可能相差很大,因此,在編譯安裝MySQL適應仔細根據你的應用類型選擇最可能好的編譯選項。這種定制的MySQL可以為你的應用提供最佳性能。
          
          技巧:選用較好的編譯器和較好的編譯器選項,這樣應用可提高性能10-30%。(MySQL文檔如是說)
          
          1.1、使用pgcc(Pentium GCC)編譯器
          
          該編譯器(http://www.goof.com/pcg/)針對運行在奔騰處理器系統上的程序進行優化,用pgcc編譯MySQL源代碼,總體性能可提高10%。當然如果你的服務器不是用奔騰處理器,就不必用它了,因為它是專為奔騰系統設計的。
          
          1.2、僅使用你想使用的字符集編譯MySQL
          
          MySQL目前提供多達24種不同的字符集,為全球用戶以他們自己的語言插入或查看表中的數據。卻省情況下,MySQL安裝所有者這些字符集,熱然而,最好的選擇是指選擇一種你需要的。如,禁止除Latin1字符集以外的所有其它字符集:
          
          --------------------------------------------------------------------------------
          %>./configure -with-extra-charsets=none [--other-configuration-options]
          --------------------------------------------------------------------------------
          
          1.3、將mysqld編譯成靜態執行文件
          
          將mysqld編譯成靜態執行文件而無需共享庫也能獲得更好的性能。通過在配置時指定下列選項,可靜態編譯mysqld。
          
          --------------------------------------------------------------------------------
          %>./configure -with-mysqld-ldflags=-all-static [--other-configuration-options]
          --------------------------------------------------------------------------------
          
          1.4、配置樣本
          
          下列配置命令常用于提高性能:
          
          %>CFLAGS="-O6 -mpentiumpro -fomit-frame-pointer" CXX=gcc CXXFLAGS="-O6 -mpentiumpro -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local --enable-assembler --with-mysqld-ldflags=-all-static --disable-shared
          
          二、調整服務器
          
          確保運用正確的編譯固然重要,但這只是成功的第一步,配置眾多的MySQL變量同樣對服務器的正常運行起關鍵作用。你可以將這些變量的賦值存在一個配置文件中,以確保它們在每次啟動MySQL時均起作用,這個配置文件就是my.cnf文件。
          
          MySQL已經提供了幾個my.cnf文件的樣本,可在/usr/local/mysqld/share/mysql/目錄下找到。這些文件分別命名為my-small.cnf、 my-medium.cnf、my-large.cnf和my-huge.cnf,規模說明可在描述配置文件適用的系統類型標題中找到。如果在只有相當少內存的系統上運行MySQL,而且只是偶爾的用一下,那么my-small.cnf會比較理想,因為它命令mysqld只使用最少的資源。類似地,如果你計劃構建電子商務超市,而且系統擁有2G內存,那么你可能要用到mysql-huge.cnf文件了。
          
          為了利用這些文件中的一個,你需要復制一個最適合需求的文件,改名為my.cnf。你可以選擇使用配置文件三種作用范圍的一種:
          
          Global:將my.cnf文件復制到服務器的/etc目錄下,這使得配置文件中的變量作用于全局,即對所有服務器上的MySQL數據庫服務器有效。
          Local:將my.cnf文件復制到[MYSQL-INSTALL-DIR]/var/目錄下,使得my.cnf作用于特定的服務器。[MYSQL-INSTALL-DIR]表示MySQL安裝目錄。
          User:你可以再作用于特定的用戶,將my.cnf復制到用戶的根目錄下。
          究竟如何設置my.cnf中的這些變量呢?更進一步說,你可以設置哪一個變量。雖然所用變量對MySQL服務器相對通用,每一個變量與MySQL的的某些組件有更特定的關系。如變量max_connects歸在mysqld類別下。執行下列命令即可知道:
          
          %>/usr/local/mysql/libexec/mysqld --help
          
          它顯示大量的選項及與mysqld相關的變量。你可以很容易地在該行文字之下找出變量:
          
          Possible variables for option --set-variable (-O) are
          
          然后你可以如下設置my.cnf中的那些變量:
          
          set-variable = max_connections=100
          
          它設置MySQL服務器的最大并發連接數為100。要確保在my.cnf文件中的[mysqld]標題下插入變量設置。
          
          三、表類型
          
          很多MySQL用戶可能很驚訝,MySQL確實為用戶提供5種不同的表類型,稱為DBD、HEAP、ISAM、MERGE和MyIASM。DBD歸為事務安全類,而其他為非事務安全類。
          
          3.1、事務安全
          
          DBD
          Berkeley DB(DBD)表是支持事務處理的表,由Sleepycat軟件公司(http://www.sleepycat.com)開發。它提供MySQL用戶期待已久的功能-事務控制。事務控制在任何數據庫系統中都是一個極有價值的功能,因為它們確保一組命令能成功地執行。
          
          3.2、非事務安全
          
          HEAP
          
          HEAP表是MySQL中存取數據最快的表。這是因為他們使用存儲在動態內存中的一個哈希索引。另一個要點是如果MySQL或服務器崩潰,數據將丟失。
          
          ISAM
          
          ISAM表是早期MySQL版本的缺省表類型,直到MyIASM開發出來。建議不要再使用它。
          
          MERGE
          
          MERGE是一個有趣的新類型,在3.23.25之后出現。一個MERGE表實際上是一個相同MyISAM表的集合,合并成一個表,主要是為了效率原因。這樣可以提高速度、搜索效率、修復效率并節省磁盤空間。
          
          MyIASM
          
          這是MySQL的缺省表類型。它基于IASM代碼,但有很多有用的擴展。MyIASM比較好的原因:
          
          MyIASM表小于IASM表,所以使用較少資源。
          MyIASM表在不同的平臺上二進制層可移植。
          更大的鍵碼尺寸,更大的鍵碼上限。
          3.3、指定表類型
          
          你可在創建表時指定表的類型。下例創建一個HEAP表:
          
          mysql>CREATE TABLE email_addresses TYPE=HEAP (
          ->email char(55) NOT NULL,
          ->name char(30) NOT NULL,
          ->PRIMARY KEY(email) );
          
          BDB表需要一些配置工作,參見http://www.mysql.com/doc/B/D/BDB_overview.html。
          
          3.4、更多的表類型
          
          為了使MySQL管理工作更有趣,即將發布的MySQL 4.0將提供兩種新的表類型,稱為Innobase和Gemeni。
          
          四、優化工具
          
          MySQL服務器本身提供了幾條內置命令用于幫助優化。
          
          4.1、SHOW
          
          你可能有興趣知道MySQL服務器究竟更了什么,下列命令給出一個總結:
          
          mysql>show status;
          
          它給出了一個相當長的狀態變量及其值的列表。有些變量包含了異常終止客戶的數量、異常終止連接的數量、連接嘗試的次數、最大并發連接數和大量其他有用的信息。這些信息對找出系統問題和低效極具價值。
          
          SHOW還能做更多的事情。它可以顯示關于日志文件、特定數據庫、表、索引、進程和權限表中有價值的信息。詳見MySQL手冊。
          
          4.2、EXPLAIN
          
          當你面對SELECT語句時,EXPLAIN解釋SELECT命令如何被處理。這不僅對決定是否應該增加一個索引,而且對決定一個復雜的Join如何被MySQL處理都是有幫助的。
          
          4.3、OPTIMIZE
          
          OPTIMIZE語句允許你恢復空間和合并數據文件碎片,對包含變長行的表進行了大量更新和刪除后,這樣做特別重要。OPTIMIZE目前只工作于MyIASM和BDB表。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        MySQL優化簡明指南淺析_MySQL

        MySQL優化簡明指南淺析_MySQL:MySQL優化 一、在編譯時優化MySQL 如果你從源代碼分發安裝MySQL,要注意,編譯過程對以后的目標程序性能有重要的影響,不同的編譯方式可能得到類似的目標文件,但性能可能相差很大,因此,在編譯安裝MySQL適應仔細根據你的應用類型選擇最可能好的編譯選項
        推薦度:
        標簽: 指南 服務器 mysql
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top 主站蜘蛛池模板: 亚洲欧洲一区二区| 国产亚洲色婷婷久久99精品| 91亚洲va在线天线va天堂va国产| 国产一区二区三区免费观在线| 亚洲 无码 在线 专区| 欧洲美女大片免费播放器视频| 国产在线观看www鲁啊鲁免费| 美女羞羞免费视频网站| 国产jizzjizz免费看jizz| 污污视频网站免费观看| 亚洲另类少妇17p| 久久久精品视频免费观看| 国产成A人亚洲精V品无码性色| 国产高清不卡免费视频| 亚洲综合在线观看视频| 性xxxxx免费视频播放| 亚洲日韩国产精品乱-久| 成人免费视频试看120秒| jizzjizz亚洲日本少妇| 久久久久亚洲AV成人网人人软件| 中文日本免费高清| 久久精品国产亚洲AV无码偷窥| 免免费国产AAAAA片| 真正全免费视频a毛片| 亚洲综合精品香蕉久久网| 最近免费中文字幕高清大全 | 国产亚洲精品VA片在线播放| 在线视频免费观看www动漫| 免费在线观看亚洲| 亚洲AV无码久久精品狠狠爱浪潮| 精品无码免费专区毛片| 狼人大香伊蕉国产WWW亚洲| 国产亚洲真人做受在线观看| 免费下载成人电影| 一区二区三区免费在线视频| 久久精品亚洲日本佐佐木明希| 一个人看www在线高清免费看| 青青视频免费在线| 亚洲国产精品成人久久久 | 亚洲一区二区三区无码影院| 国产免费拔擦拔擦8X高清在线人|