欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

 避免編輯轉儲文件

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

MyISAM 塊大小

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

打開 Delay_Key_Write

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

Joins(表連接)

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

優(yōu)化WHERE從句

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

在Select查詢上使用Explain關鍵字

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

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

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

使用堆棧跟蹤隔離Bug

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

設置SQL_MODE

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

   

復制代碼 代碼如下:
//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密碼對于某些特定設置是必不可少的,修改命令如下:

   

復制代碼 代碼如下:
//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 命令備份數據庫

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

最簡單的備份數據庫的方法
 

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

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

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

調整CONFIG的配置

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

相關文章

  • mysql連接查詢中and與where的區(qū)別淺析

    mysql連接查詢中and與where的區(qū)別淺析

    在使用數據庫查詢語句時,單表的查詢有時候不能滿足項目的業(yè)務需求,在項目開發(fā)過程中,有很多需求都是要涉及到多表的連接查詢,這篇文章主要給大家介紹了關于mysql連接查詢中and與where區(qū)別的相關資料,需要的朋友可以參考下
    2021-07-07
  • MySQL慢查詢分析工具pt-query-digest詳解

    MySQL慢查詢分析工具pt-query-digest詳解

    pt-query-digest是用于分析mysql慢查詢的一個工具,它可以分析binlog、General?log、slowlog,也可以通過SHOWPROCESSLIST或者通過tcpdump抓取的MySQL協議數據來進行分析,這篇文章主要介紹了MySQL慢查詢分析工具pt-query-digest詳解,需要的朋友可以參考下
    2023-01-01
  • MySql用DATE_FORMAT截取DateTime字段的日期值

    MySql用DATE_FORMAT截取DateTime字段的日期值

    MySql截取DateTime字段的日期值可以使用DATE_FORMAT來格式化,使用方法如下
    2014-08-08
  • mysqli預處理編譯的深入理解

    mysqli預處理編譯的深入理解

    記得以前寫過mysqli的預處理的php教程,現在整理一下,需要的朋友可以參考
    2012-12-12
  • 了解MySQL查詢語句執(zhí)行過程(5大組件)

    了解MySQL查詢語句執(zhí)行過程(5大組件)

    這篇文章主要介紹了了解MySQL查詢語句執(zhí)行過程(5大組件),文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • MySQL select、insert、update批量操作語句代碼實例

    MySQL select、insert、update批量操作語句代碼實例

    這篇文章主要介紹了MySQL select、insert、update批量操作語句代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • MySQL查詢學習之基礎查詢操作

    MySQL查詢學習之基礎查詢操作

    這篇文章主要給大家介紹了關于MySQL查詢學習之基礎查詢操作的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05
  • mysql 8.0.13 解壓版安裝配置方法圖文教程

    mysql 8.0.13 解壓版安裝配置方法圖文教程

    這篇文章主要為大家詳細介紹了mysql 8.0.13 解壓版安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • sql查詢語句教程之插入、更新和刪除數據實例

    sql查詢語句教程之插入、更新和刪除數據實例

    如果要在程序運行過程中操作數據庫中的數據,那得先學會使用SQL語句,下面這篇文章主要給大家介紹了關于sql查詢語句教程之插入、更新和刪除數據的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • MySQL數據庫中數值字段類型長度int(11)和Decimal(M,D)詳解

    MySQL數據庫中數值字段類型長度int(11)和Decimal(M,D)詳解

    這篇文章主要介紹了MySQL數據庫中數值字段類型長度int(11)和Decimal(M,D)字段詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06

最新評論