LAMP伺服器效能最佳化技巧之Mysql最佳化

來源:互聯網
上載者:User

Apache伺服器最佳化、PHP最佳化、Mysql最佳化

對於程式開發人員而言,目前使用最流行的兩種後台資料庫即為MySQL and SQL Server。這兩者最基本的相似之處在於資料存放區和屬於查詢系統。如果你想建立一個.NET伺服器體系,這一體系可以從多個不同平台訪問資料,參與資料庫的管理,那麼你可以選用SQL Server伺服器。如果你想建立一個第三方動態網站,從這一網站可以從一些用戶端讀取資料,那麼MySQL將是一個不錯的選擇。

1、編譯和安裝MySQL

通過你的系統挑選可能最好的編譯器,你通常可以獲得10-30%的效能提高。在Linux/Intel平台上,用pgcc(gcc的奔騰晶片最佳化版)編譯MySQL。然而,二進位代碼將只能運行在Intel奔騰CPU上。 對於一種特定的平台,使用MySQL參考手冊上推薦的最佳化選項。用你將使用的字元集編譯MySQL。 靜態編譯產生mysqld的執行檔案(用--with-mysqld-ldflags=all-static)並用strip sql/mysqld整理最終的執行檔案。 注意,既然MySQL不使用C++擴充,不帶擴充支援編譯MySQL將贏得巨大的效能提高。

2、最佳化表

MySQL擁有一套豐富的類型。應該對每一列嘗試使用最有效類型。ANALYSE過程可以協助你找到表的最優類型:SELECT * FROM table_name PROCEDURE ANALYSE()。對於不儲存NULL值的列使用NOT NULL,這對你想索引的列尤其重要。 將ISAM類型的表改為MyISAM。用固定的表格式建立表。

3、正確使用索引

索引用來快速地尋找那些具有特定值的記錄,所有MySQL索引都以B-樹的形式儲存。如果沒有索引,執行查詢時MySQL必須從第一個記錄開始掃描整個表的所有記錄,直至找到符合要求的記錄。如果表有1000個記錄,通過索引尋找記錄至少要比順序掃描記錄快100倍。

假設我們建立了一個名為people的表:

 
  1. CREATE TABLE people ( peopleid SMALLINT NOT NULL, name CHAR(50) NOT NULL );

然後,我們完全隨機把1000個不同name值插入到people表。

但是索引也是有缺點的,首先,索引要佔用磁碟空間。通常情況下,這個問題不是很突出。但是,如果你建立每一種可能列組合的索引,索引檔案體積的增長速度將遠遠超過資料檔案。如果你有一個很大的表,索引檔案的大小可能達到作業系統允許的最大檔案限制。如果MySQL能估計出它將可能比掃描整張表還要快時,則不使用索引。另外,對於需要寫入資料的操作,比如DELETE、UPDATE操作,索引會降低它們的速度。這是因為MySQL不僅要把改動資料寫入資料檔案,而且它還要把這些改動寫入索引檔案。

4、 減少使用字元集編譯MySQL

MySQL目前提供多達24種不同的字元集(許多語言版本),為全球使用者以他們自己的語言插入或查看錶中的資料。預設情況下,MySQL安裝所有者這些字元集,所以最好的選擇是安裝一兩種你需要的就可以了(中文、英文)。

總結:本文介紹了如何在現有硬體條件下提高系統效能,網路系統管理員充分瞭解自己的電腦和網路,從而找到真正的瓶頸所在。在預算短缺的今天,理解如何最佳化系統效能比以往任何時候都重要。一味地硬體投資並不是能夠讓人們接受的辦法,而且還也不一定生效。

以上就是LAMP伺服器效能最佳化技巧,文章到此結束。您的LAMP伺服器最佳化好沒呢?

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.