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

12個優(yōu)化MySQL的技巧小整理

 更新時間:2015年06月25日 11:21:01   投稿:goldensun  
這篇文章主要介紹了12個優(yōu)化MySQL的技巧小整理,包括表連接和WHERE語句等基本的優(yōu)化點等內(nèi)容,已經(jīng)了解的也不妨加深一下印象,需要的朋友可以參考下

 避免編輯轉(zhuǎn)儲文件

Mysqldump創(chuàng)建的轉(zhuǎn)儲文件原本是無害的,但它很容易被嘗試去編輯。然而,人們應(yīng)該知道在任何情況下的試圖修改這些文件被證明是有危險的。直觀地看對這些文件的改動會導(dǎo)致數(shù)據(jù)庫損壞,從而導(dǎo)致系統(tǒng)的退化。為了讓你的系統(tǒng)免受任何麻煩,你必須避免編輯MySQL轉(zhuǎn)儲文件。

MyISAM 塊大小

大多數(shù)開發(fā)者忘記了這一事實,文件系統(tǒng)往往需要一個大的MyISAM塊以保證高效運行。許多開發(fā)者不知道塊大小的設(shè)置。.MYI文件存儲在myisam_block_size的設(shè)置里,這個設(shè)置項可用來修改大的塊尺寸。MyISAM塊大小的默認值是1K,這不是當(dāng)前大多數(shù)系統(tǒng)的恰當(dāng)設(shè)置。因此,開發(fā)者應(yīng)該考慮指定一個與之相適應(yīng)的值。

打開 Delay_Key_Write

為避免系統(tǒng)崩潰時數(shù)據(jù)庫損壞delay_key_write默認是關(guān)閉的。有人可能會問,如果是這樣的話,為什么要把它放在首位打開呢?從防止數(shù)據(jù)庫每次寫MyISAM key文件時刷該文件方面看這是必要的。通過把它打開,開發(fā)者可以節(jié)省很多時間。參考MySQL官方手冊了解你的版本如何把它打開。

Joins(表連接)

創(chuàng)建索引和使用相同的列類型:join(表連接)操作可以在Mysql中被優(yōu)化。若應(yīng)用中有許多join操作,可以通過創(chuàng)建相同的列類型上join來優(yōu)化。創(chuàng)建索引是加速應(yīng)用的另一種方法。查詢修改有助于你找回期望的查詢結(jié)果。

優(yōu)化WHERE從句

即使你只搜索一行MySQL也會查詢整個表,因此,建議你當(dāng)只需要一條結(jié)果時將limit設(shè)置為1。通過這樣做,可以避免系統(tǒng)貫穿搜索整個表,從而可以盡可能快找到與你需求相匹配的記錄。

在Select查詢上使用Explain關(guān)鍵字

你肯定希望得到與任何特定查詢相關(guān)的一些幫助。Explain關(guān)鍵詞在這方面是非常有幫助的。它在你尋求查詢到底做了什么時提供了具體細節(jié)。例如,在復(fù)雜join查詢前鍵入Explain關(guān)鍵詞你會得到很多有用的資料。

使用查詢緩存優(yōu)化查詢

MySQL的查詢緩存是默認啟用的。這主要是因為緩存有助于查詢的快速執(zhí)行,緩存可以在相同的查詢多次運行使用。你在關(guān)鍵字前加入當(dāng)前日期、CURRDATE等PHP代碼使查詢緩存它從而啟用此功能。

使用堆棧跟蹤隔離Bug

各種Bug可以使用stack_trace隔離出來。一個空指針足以毀掉一段特定的代碼,任何開發(fā)人員都知道它有這樣的能力。了解使用堆棧跟蹤的細節(jié),從而在你的代碼里避免bug。

設(shè)置SQL_MODE

枚舉類型總是讓人感到非常的疑惑。由于字段可能擁有多個可能的值,這些可能的值包括你指定的和null,在編碼時將會出現(xiàn)很多問題,你將永遠都會得到一個警告說代碼不正確。一個簡單的解決辦法就是設(shè)置SQL_MODE。

   

復(fù)制代碼 代碼如下:
//Start mysqld with
    $–sql-mode=”modes”
    //or
    $sql-mode=”modes” (my.ini – Windows / my.cnf – Unix)
    //Change at runtime, separate multiple modes with a comma
    $set [GLOBAL|SESSION] sql_mode='modes'
    //TRADITIONAL is equivalent to the following modes:
    STRICT_TRANS_TABLES, STRICT_ALL_TABLES, NO_ZERO_IN_DATE, ERROR_FOR_DIVISION_BY_ZERO, and NO_AUTO_CREATE_USER

修改Root密碼

修改root密碼對于某些特定設(shè)置是必不可少的,修改命令如下:

   

復(fù)制代碼 代碼如下:
//Straightforward MySQL 101
    $mysqladmin -u root password [Type in selected password]
    //Changing users ROOT password
    $mysqladmin -u root -p [type old password] newpass [hit enter and type new password. Press enter]
    //Use mysql sql command
    $mysql -u root -p
    //prompt “mysql>” pops up. Enter:
    $use mysql;
    //Enter user name you want to change password for
    $update user set password=PASSWORD (Type new Password Here) where User = ‘username';
    //Don't forget the previous semicolon, now reload the settings for the users privileges
    $flush privileges;
    $quit

用MySQL Dump 命令備份數(shù)據(jù)庫

開發(fā)者都知道數(shù)據(jù)庫備份的重要性,當(dāng)系統(tǒng)出現(xiàn)重大故障時能夠起到救命的作用。

最簡單的備份數(shù)據(jù)庫的方法
 

復(fù)制代碼 代碼如下:
$mysqldump –user [user name] –password=[password] [database name] > [dump file]

//你也可以用簡寫"-u","-p"來分別代替"user"和"password"
//將多個數(shù)據(jù)庫導(dǎo)入到一個文件只要在后面添加需要導(dǎo)出數(shù)據(jù)庫的名稱:
 
復(fù)制代碼 代碼如下:
mysqldump –user [user name] –password=[password]
[first database name] [second database name] > [dump file]

//許多數(shù)據(jù)庫都提供了順序備份的功能,要備份所有數(shù)據(jù)庫只需要添加--all-databases參數(shù)。如果你不喜歡命令行,從Sourceforge上下載automysqlbackup吧。

調(diào)整CONFIG的配置

PERL腳本MySQL Tuner是另一個強大的優(yōu)化數(shù)據(jù)庫性能的工具,它能夠幫助你對MySQL配置來進行多處調(diào)整和修改。你可以訪問該項目的官網(wǎng)來進一步了解它。

相關(guān)文章

  • mysql創(chuàng)建存儲過程及函數(shù)詳解

    mysql創(chuàng)建存儲過程及函數(shù)詳解

    大家好,本篇文章主要講的是mysql創(chuàng)建存儲過程及函數(shù)詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • MySql中having字句對組記錄進行篩選使用說明

    MySql中having字句對組記錄進行篩選使用說明

    having字句可以讓我們篩選成組后的各種數(shù)據(jù)
    2012-12-12
  • SQL函數(shù)實現(xiàn)Group_concat用法

    SQL函數(shù)實現(xiàn)Group_concat用法

    GROUP_CONCAT用于將每個分組內(nèi)的值連接成一個字符串,并通過指定的分隔符進行分隔,本文主要介紹了SQL函數(shù)實現(xiàn)Group_concat用法,具有一定的參考價值,感興趣的可以了解一下
    2024-08-08
  • mysql日期函數(shù)TO_DAYS()函數(shù)的詳細講解

    mysql日期函數(shù)TO_DAYS()函數(shù)的詳細講解

    在SQL中我們經(jīng)常需要根據(jù)時間字段查詢數(shù)據(jù),今天用到一個好用的時間字段,用來查詢一整天的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于mysql日期函數(shù)TO_DAYS()函數(shù)的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • CentOS中mysql cluster安裝部署教程

    CentOS中mysql cluster安裝部署教程

    這篇文章主要介紹了在CentOS 6.3系統(tǒng)上搭建MySQL Cluster 7.2.25集群的相關(guān)資料,需要的朋友可以參考下。
    2016-11-11
  • Mysql命令行導(dǎo)入sql數(shù)據(jù)的代碼

    Mysql命令行導(dǎo)入sql數(shù)據(jù)的代碼

    Mysql命令行導(dǎo)入sql數(shù)據(jù)的實現(xiàn)方法是我們經(jīng)常會用到的,下面就為你詳細介紹Mysql命令行導(dǎo)入sql數(shù)據(jù)的方法步驟,希望對您學(xué)習(xí)Mysql命令行方面能有所幫助。
    2010-12-12
  • MySQL如何生成唯一的server-id

    MySQL如何生成唯一的server-id

    這篇文章主要給大家介紹了關(guān)于MySQL如何生成唯一的server-id的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • KubeSphere部署mysql的詳細步驟

    KubeSphere部署mysql的詳細步驟

    本文介紹了在KubeSphere中部署Mysql的詳細步驟,包括創(chuàng)建mysql配置、pvc掛載、工作負載、服務(wù),并測試數(shù)據(jù)庫連接,步驟詳盡,包括yaml配置和環(huán)境變量設(shè)置,特別強調(diào)了路徑一致性和外部訪問設(shè)置,還提到了使用NodePort模式解決自定義域名連接問題
    2024-10-10
  • MySQL如何給表和字段添加注釋

    MySQL如何給表和字段添加注釋

    這篇文章主要介紹了MySQL如何給表和字段添加注釋問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 借助PHP的mysql_query()函數(shù)來創(chuàng)建MySQL數(shù)據(jù)庫的教程

    借助PHP的mysql_query()函數(shù)來創(chuàng)建MySQL數(shù)據(jù)庫的教程

    這篇文章主要介紹了借助PHP的mysql_query()函數(shù)來創(chuàng)建MySQL數(shù)據(jù)庫的教程,將函數(shù)配合CREATE DATABASE語句使用,需要的朋友可以參考下
    2015-12-12

最新評論

五莲县| 灵丘县| 亚东县| 肇源县| 宜昌市| 长沙市| 四子王旗| 河北区| 祁阳县| 毕节市| 阿巴嘎旗| 惠来县| 裕民县| 赞皇县| 溧水县| 广南县| 乡宁县| 舞钢市| 茂名市| 云龙县| 隆尧县| 靖州| 马公市| 黎川县| 子长县| 德昌县| 东城区| 榆中县| 曲麻莱县| 陕西省| 大渡口区| 莱西市| 昌都县| 枝江市| 勃利县| 广灵县| 安远县| 乐亭县| 南溪县| 武清区| 霞浦县|