国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

LAMP服務器性能優化技巧之Mysql優化

2024-09-01 13:45:20
字體:
來源:轉載
供稿:網友

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的表:

  • 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服務器優化好沒呢?

    發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 大竹县| 翁源县| 固始县| 普安县| 榕江县| 禄丰县| 呼图壁县| 剑阁县| 逊克县| 黄平县| 湘潭市| 宣汉县| 嘉祥县| 桑日县| 吉木乃县| 思南县| 芜湖市| 府谷县| 津市市| 牡丹江市| 甘谷县| 蓬莱市| 台中县| 武胜县| 屏东县| 石门县| 湘阴县| 新邵县| 佛冈县| 武定县| 荔浦县| 崇州市| 明光市| 额济纳旗| 苍梧县| 准格尔旗| 白玉县| 岐山县| 乌鲁木齐县| 军事| 三江|