最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

LAMP服務(wù)器性能優(yōu)化技巧之Mysql優(yōu)化

 更新時(shí)間:2012年02月20日 10:07:48   作者:  
目前LAMP (Linux + Apache + MySQL + PHP) 近幾年來(lái)發(fā)展迅速,已經(jīng)成為Web 服務(wù)器的事實(shí)標(biāo)準(zhǔn)。本文我們將介紹基于LAMP組合的服務(wù)器的性能優(yōu)化技巧:Mysql優(yōu)化
Apache服務(wù)器優(yōu)化PHP優(yōu)化、Mysql優(yōu)化

對(duì)于程序開(kāi)發(fā)人員而言,目前使用最流行的兩種后臺(tái)數(shù)據(jù)庫(kù)即為MySQL and SQL Server。這兩者最基本的相似之處在于數(shù)據(jù)存儲(chǔ)和屬于查詢系統(tǒng)。如果你想建立一個(gè).NET服務(wù)器體系,這一體系可以從多個(gè)不同平臺(tái)訪問(wèn)數(shù)據(jù),參與數(shù)據(jù)庫(kù)的管理,那么你可以選用SQL Server服務(wù)器。如果你想建立一個(gè)第三方動(dòng)態(tài)網(wǎng)站,從這一站點(diǎn)可以從一些客戶端讀取數(shù)據(jù),那么MySQL將是一個(gè)不錯(cuò)的選擇。

1、編譯和安裝MySQL

通過(guò)你的系統(tǒng)挑選可能最好的編譯器,你通??梢垣@得10-30%的性能提高。在Linux/Intel平臺(tái)上,用pgcc(gcc的奔騰芯片優(yōu)化版)編譯MySQL。然而,二進(jìn)制代碼將只能運(yùn)行在Intel奔騰CPU上。 對(duì)于一種特定的平臺(tái),使用MySQL參考手冊(cè)上推薦的優(yōu)化選項(xiàng)。用你將使用的字符集編譯MySQL。 靜態(tài)編譯生成mysqld的執(zhí)行文件(用--with-mysqld-ldflags=all-static)并用strip sql/mysqld整理最終的執(zhí)行文件。 注意,既然MySQL不使用C++擴(kuò)展,不帶擴(kuò)展支持編譯MySQL將贏得巨大的性能提高。

2、優(yōu)化表

MySQL擁有一套豐富的類(lèi)型。應(yīng)該對(duì)每一列嘗試使用最有效的類(lèi)型。ANALYSE過(guò)程可以幫助你找到表的最優(yōu)類(lèi)型:SELECT * FROM table_name PROCEDURE ANALYSE()。對(duì)于不保存NULL值的列使用NOT NULL,這對(duì)你想索引的列尤其重要。 將ISAM類(lèi)型的表改為MyISAM。用固定的表格式創(chuàng)建表。

3、正確使用索引

索引用來(lái)快速地尋找那些具有特定值的記錄,所有MySQL索引都以B-樹(shù)的形式保存。如果沒(méi)有索引,執(zhí)行查詢時(shí)MySQL必須從第一個(gè)記錄開(kāi)始掃描整個(gè)表的所有記錄,直至找到符合要求的記錄。如果表有1000個(gè)記錄,通過(guò)索引查找記錄至少要比順序掃描記錄快100倍。

假設(shè)我們創(chuàng)建了一個(gè)名為people的表:

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

然后,我們完全隨機(jī)把1000個(gè)不同name值插入到people表。

但是索引也是有缺點(diǎn)的,首先,索引要占用磁盤(pán)空間。通常情況下,這個(gè)問(wèn)題不是很突出。但是,如果你創(chuàng)建每一種可能列組合的索引,索引文件體積的增長(zhǎng)速度將遠(yuǎn)遠(yuǎn)超過(guò)數(shù)據(jù)文件。如果你有一個(gè)很大的表,索引文件的大小可能達(dá)到操作系統(tǒng)允許的最大文件限制。如果MySQL能估計(jì)出它將可能比掃描整張表還要快時(shí),則不使用索引。另外,對(duì)于需要寫(xiě)入數(shù)據(jù)的操作,比如DELETE、UPDATE操作,索引會(huì)降低它們的速度。這是因?yàn)镸ySQL不僅要把改動(dòng)數(shù)據(jù)寫(xiě)入數(shù)據(jù)文件,而且它還要把這些改動(dòng)寫(xiě)入索引文件。

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

MySQL目前提供多達(dá)24種不同的字符集(許多語(yǔ)言版本),為全球用戶以他們自己的語(yǔ)言插入或查看表中的數(shù)據(jù)。缺省情況下,MySQL安裝所有者這些字符集,所以最好的選擇是安裝一兩種你需要的就可以了(中文、英文)。

總結(jié):本文介紹了如何在現(xiàn)有硬件條件下提高系統(tǒng)性能,網(wǎng)絡(luò)管理員充分了解自己的計(jì)算機(jī)和網(wǎng)絡(luò),從而找到真正的瓶頸所在。在預(yù)算短缺的今天,理解如何優(yōu)化系統(tǒng)性能比以往任何時(shí)候都重要。一味地硬件投資并不是能夠讓人們接受的辦法,而且還也不一定生效。

以上就是LAMP服務(wù)器性能優(yōu)化技巧,文章到此結(jié)束。您的LAMP服務(wù)器優(yōu)化好沒(méi)呢?

相關(guān)文章

  • linux中SUID,SGID與SBIT的奇妙用途詳解

    linux中SUID,SGID與SBIT的奇妙用途詳解

    這篇文章主要給大家介紹了關(guān)于linux中SUID,SGID與SBIT的奇妙用途的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用linux具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起看看吧
    2018-09-09
  • linux服務(wù)中開(kāi)啟防火墻的兩種方式

    linux服務(wù)中開(kāi)啟防火墻的兩種方式

    這篇文章主要介紹了linux服務(wù)中開(kāi)啟防火墻的兩種方式,給大家補(bǔ)充介紹了linux防火墻基本知識(shí),需要的朋友可以參考下
    2018-12-12
  • Linux守護(hù)進(jìn)程的啟動(dòng)方法

    Linux守護(hù)進(jìn)程的啟動(dòng)方法

    這篇文章主要為大家詳細(xì)介紹了Linux守護(hù)進(jìn)程的啟動(dòng)方法,本文介紹如何將一個(gè) Web 應(yīng)用,啟動(dòng)為守護(hù)進(jìn)程,感興趣的小伙伴們可以參考一下
    2016-02-02
  • 詳解Linux內(nèi)核內(nèi)存管理架構(gòu)

    詳解Linux內(nèi)核內(nèi)存管理架構(gòu)

    這篇文章給大家分享了關(guān)于Linux內(nèi)核內(nèi)存管理架構(gòu)的相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友參考學(xué)習(xí)下。
    2018-08-08
  • Linux測(cè)試端口連通性的5種方法

    Linux測(cè)試端口連通性的5種方法

    在Linux系統(tǒng)中,測(cè)試端口通不通是非常常見(jiàn)的情況之一,比如我們進(jìn)行網(wǎng)絡(luò)調(diào)試的時(shí)候就需要測(cè)試驗(yàn)證對(duì)應(yīng)的端口是否正常,那么Linux中測(cè)試端口通不通的方法是什么?以下是詳細(xì)內(nèi)容介紹
    2024-06-06
  • 解析Linux內(nèi)核與設(shè)備樹(shù)的編譯和燒寫(xiě)

    解析Linux內(nèi)核與設(shè)備樹(shù)的編譯和燒寫(xiě)

    在內(nèi)核源碼中,存在大量對(duì)板級(jí)細(xì)節(jié)信息描述的代碼。開(kāi)源文檔中對(duì)設(shè)備樹(shù)的描述是,一種描述硬件資源的數(shù)據(jù)結(jié)構(gòu),它通過(guò)bootloader將硬件資源傳給內(nèi)核,使得內(nèi)核和硬件資源描述相對(duì)獨(dú)立
    2021-06-06
  • Linux命令unzip詳解

    Linux命令unzip詳解

    這篇文章介紹了Linux命令unzip,Linux unzip命令用于解壓縮zip文件,文中詳細(xì)列出了unzip命令選項(xiàng)和選項(xiàng)描述。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • apache 開(kāi)啟重定向 rewrite的實(shí)現(xiàn)方法

    apache 開(kāi)啟重定向 rewrite的實(shí)現(xiàn)方法

    這篇文章主要介紹了apache 開(kāi)啟重定向 rewrite的實(shí)現(xiàn)方法的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-10-10
  • ubuntu14.04安裝jdk1.8的教程

    ubuntu14.04安裝jdk1.8的教程

    這篇文章主要介紹了ubuntu14.04安裝jdk1.8的教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Linux 4.0 不再需要重啟

    Linux 4.0 不再需要重啟

    在大多數(shù)的服務(wù)器或者數(shù)據(jù)中心里,喜歡用linux的一個(gè)原因是你不需要頻繁的進(jìn)行重啟操作。誠(chéng)然,某些關(guān)鍵性的補(bǔ)丁必須要進(jìn)行重啟,但你也可以等到數(shù)月后再做此操作?,F(xiàn)在,得益于 linux 內(nèi)核的最新更新 你也許可以數(shù)年間都不用重啟。
    2015-03-03

最新評(píng)論

张家港市| 桐柏县| 兰溪市| 杭锦旗| 谢通门县| 嘉黎县| 衡阳县| 望城县| 油尖旺区| 英吉沙县| 岳普湖县| 甘南县| 洛阳市| SHOW| 沂水县| 准格尔旗| 吉首市| 安新县| 新田县| 普洱| 上高县| 陆川县| 水城县| 屏山县| 四子王旗| 辽源市| 漠河县| 肇州县| 阿尔山市| 汾西县| 新晃| 神池县| 高雄市| 千阳县| 清水河县| 新巴尔虎右旗| 盐池县| 青冈县| 基隆市| 广汉市| 周宁县|