Wabow Information Inc. Blog
分類: 技術分享 作者: daniel
14 5 月 2009MySQL 在 5.0 版後,增加了 Stored Procedure 的功能, 讓 MySQL 能夠真正的具備大型商用資料庫的架勢。根據維基百科的說明,Stored Procedure 預存程式是一種在資料庫中儲存的程式,同時也是可供外部程式呼叫的一種資料庫物件,可以視為資料庫中的函數或子程式。透過它的幫助,首先我們能夠減少使用外部程式(如 PHP)時,因多次 Query 資料庫而花費的往返時間;而且 Stored Procedure 儲存在資料庫時,可以視為已經編譯完成的程式,所以在執行效能上比一般 SQL Query 更為迅速。其次由於它存在資料庫中,因此如果有多個外部程式必須同時應用到這個程式時,只要呼叫同一支 Stored Procedure 即可;不需要因為更換外部程式而重新撰寫程式,大大的提升程式的可維護性。不過受限於它是於資料庫中使用的程式,當然在可用的變數型態,以及支援的函數上都遠不如真正的程式語言;所以只適合用在簡單不複雜的一般邏輯判斷上。左圖是 O'Reilly 於 2006 年出版的《MySQL Stored Procedure Programming》;雖然並沒有中文版,不過 O'Reilly 願意專門為 MySQL 的 Stored Procedure 出書,這個功能對於開發者來說的重要性可見一斑。
分類: 技術分享 作者: andrew
16 4 月 2009之前公司的某個現有客戶想要追加新功能,因為當初這個專案並沒有參與到,所以就花了一些時間在研究資料庫結構及功能流程。在看mysql發現到有使用到以前沒有接觸過的view的概念,就上網找了些資料來詳讀。或許對很多使用非mysql資料庫的程式設計師來說,view的概念其實很簡單甚至覺得不需要特別寫這篇文章;但是其實mysql是一直到5.0版才開始支援view的概念,也因為不支援view而造成在其他資料庫轉入mysql時造成小小的困擾。這篇文章主要會介紹在撰寫view的語法時要特別注意的8個錯誤,就讓我們開始吧!
繼續閱讀 »
分類: 技術分享 作者: admin
9 3 月 2009整理資料庫時,總會遇到 Email 格式不正確的問題。這時只要利用 MySQL 的正規式就可以輕鬆找出有問題的 Email 了。
SELECT *
FROM `users`
WHERE email NOT
REGEXP '^[a-zA-Z0-9][a-zA-Z0-9._+-]*[a-zA-Z0-9_-]@[a-zA-Z0-9][a-zA-Z0-9._-]*[a-zA-Z0-9]+..[a-zA-Z]{2,4}$'
分類: 技術分享 作者: andrew
14 8 月 20081.找到mysql的設定檔my.cnf(通常是放在/etc/my.cnf)
2. 在[mysqld]下方加上一行
log = {存放log的路徑/log檔名}
3.重新啟動mysql > /etc/init.d/mysql restart
4.開啟步驟2設定的log檔.會發現所有mysql有執行過的指令都寫在裡面
[point]
如果重新啟動mysql發現log檔沒有在指定路徑下產生.請依照下面建議:
1.確認目前機器上mysql使用的設定檔my.cnf是否是步驟1修改的.
2.確認後還是沒有產生的話.建議建立新的資料夾.並設定owner為mysql:mysql.
記得my.cnf中也要比照修改到新的路徑
(會有此情況是因為資料夾權限的關係)
這個部落格分享了哇寶在電子商務領域的技術及資訊,希望能讓更多人一起為台灣的網路產業加油。