優化你的 MySQL 數據庫運作

要提高一個 PHP 應用系統的效能,除了優化算法、原碼外,還有很多方面可以著手,資深軟件工程師 Mike Willbanks 發表了一篇文章討論優化 MySQL 數據庫的運作,包括懶惰連接、不做無謂的查詢、小心規劃數據庫結構等。雖然這篇文章針對 MySQL,不過提及的技巧在其他數據庫引擎上同樣有用。

應用程式層面的 SQL 效能

應用程式層面的 SQL 效能與 SQL 查詢的效能屬於不同的課題,這是有關如何在設計上使 SQL 與應用程式互相配合讓工作做得更好,Mike Willbanks 認為這方面的研究主要集中於如何降低查詢的次數,從而提高可擴展性和改善效能,不過,高的效能並不等於好的可擴展性,正如具有可擴展性並不等於有高的效能。以下有關應用層面的 SQL 效能建議,很多都已經在 Mike Willbanks 的個人網誌上討論過:

繼續閱讀

Sun 出價 10 億美元收購 MySQL

Sun Microsystems(大陸稱為「昇陽電腦」)出價十億美元收購全球最受歡迎、最多用戶的開源數據庫系統 MySQL,在 Sun 及 MySQL AB 的網站均有發出聯合新聞公告

MySQL 是互聯網基礎架構 LAMP 之中的「M」,全球有數以百萬計的用戶,下載總數累計超過一億次,並以每天五十萬次的速率增長中,多間大型企業均採用 MySQL,包括 Facebook、Google、Nokia、YouTube、百度及中國移動通訊。此次收購使 Sun 染指估計價值達到 15 億美元的數據庫市場,也增強了 Sun 作為最大的商業性開源系統提供者的地位。

繼續閱讀

MySQL 預存程序入門教學

Ligaya Turmelle 在 A/R/T 刊登了 MySQL 預存程序的教學文件的第一篇,Turmelle 在這篇文章首先介紹什麼是預存程序(Stored Procedure)與及預存程序的優點:

基本上預存程序是用 SQL 語句寫成並儲存在數據庫的常式,例如你有一個給薪資應用程式專用的預存程序,它會檢示僱員的工時表格,計算每一個人的應得薪金,然後把資料寫入會計表格 中,最後計算僱員的休假總數,把所有資料在雇員表格中反映出來。倘若沒有預存程序應用系統便需要多次從數據庫送出及提取資料,有了預存程序所有運算便可以 一次過完成,然後把最後結果送回應用程式。

繼續閱讀

對於有太多列表的數據庫,phpMyAdmin 可能會當機

Ana Aman 在她的網誌上表示:「若果你的數據庫有超過 1,500 個列表,phpMyAdmin 可能不會顯示任何東西,這時候你根本無法用 phpMyAdmin 管理你的數據庫。」

Ana 跟著研究 phpMyAdmin 的設定檔 config.default.php,嘗試不同的參數設定,最後發現問題出在 PHP 本身,把 php.ini 內的 memory_limit 增大便可以解決問題。

繼續閱讀