天天看點

每個 MySQL 開發者都應該了解的 12 個技巧

mysql是世界上實際最流行的資料庫管理系統,是遍布全球程式設計社群的首選。它有一個系列有趣的特性,在很多方面都很擅長。由于其巨大的人氣,在網上可以找到許多mysql的使用技巧。這裡有12個最好的技巧和竅門,所有mysql資料庫開發者都應該了解一下。

每個 MySQL 開發者都應該了解的 12 個技巧

mysql

<a target="_blank"></a>

mysqldump建立的轉儲檔案原本是無害的,但它很容易被嘗試去編輯。然而,人們應該知道在任何情況下的試圖修改這些檔案被證明是有危險的。直覺地看對這些檔案的改動會導緻資料庫損壞,進而導緻系統的退化。為了讓你的系統免受任何麻煩,你必須避免編輯mysql轉儲檔案。

大多數開發者忘記了這一事實,檔案系統往往需要一個大的myisam塊以保證高效運作。許多開發者不知道塊大小的設定。.myi檔案存儲在myisam_block_size的設定裡,這個設定項可用來修改大的塊尺寸。myisam塊大小的預設值是1k,這不是目前大多數系統的恰當設定。是以,開發者應該考慮指定一個與之相适應的值。

為避免系統崩潰時資料庫損壞delay_key_write預設是關閉的。有人可能會問,如果是這樣的話,為什麼要把它放在首位打開呢?從防止資料庫每次寫myisam檔案時重新整理密鑰檔案方面看這是必要的。通過把它打開,開發者可以節省很多時間。參考mysql官方手冊了解你的版本如何把它打開。

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

即使你隻搜尋一行mysql也會查詢整個表,是以,建議你當隻需要一條結果時将limit設定為1。通過這樣做,可以避免系統貫穿搜尋整個表,進而可以盡可能快找到與你需求相比對的記錄。

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

mysql的查詢緩存是預設啟用的。這主要是因為緩存有助于查詢的快速執行,緩存可以在相同的查詢多次運作使用。你在關鍵字前加入目前日期、currdate等php代碼使查詢緩存它進而啟用此功能。

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

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

修改root密碼對于某些特定設定是必不可少的,修改指令如下:

開發者都知道資料庫備份的重要性,當系統出現重大故障時能夠起到救命的作用。

最簡單的備份資料庫的方法

你也可以用簡寫"-u","-p"來分别代替"user"和"password" 

将多個資料庫導入到一個檔案隻要在後面添加需要導出資料庫的名稱: 

許多資料庫都提供了順序備份的功能,要備份所有資料庫隻需要添加--all-databases參數。如果你不喜歡指令行,從sourceforge上下載下傳automysqlbackup吧。

原文釋出時間為:2013-08-21

本文來自雲栖社群合作夥伴“linux中國”