影響資料庫(MySQL/MariaDB)效能的因素很多,例如資料表的設計、索引、硬體規格、查詢語法、參數設定等都相當關鍵。而在參數優化部分,其中一個很重要的參數是「innodb_buffer_pool_size」,它配置了緩衝區的記憶體大小,所以將直接影響讀寫的效率,網路上有蠻多文章在探討這一塊的優化,在此就不多贅述,將直接教導各位如何在不同的情況下查詢以及設定此參數。
示範版本:Ubuntu 20.04 Server 英文版、MariaDB 10.3.32
各式軟體教學、免費線上工具、電腦使用技巧分享
影響資料庫(MySQL/MariaDB)效能的因素很多,例如資料表的設計、索引、硬體規格、查詢語法、參數設定等都相當關鍵。而在參數優化部分,其中一個很重要的參數是「innodb_buffer_pool_size」,它配置了緩衝區的記憶體大小,所以將直接影響讀寫的效率,網路上有蠻多文章在探討這一塊的優化,在此就不多贅述,將直接教導各位如何在不同的情況下查詢以及設定此參數。
示範版本:Ubuntu 20.04 Server 英文版、MariaDB 10.3.32
各位在使用Redmine時,如果資料庫編碼正確的話,相信中文字是可以正常顯示的,不過會遇到另一個問題是一些特殊符號或表情符號無法支援,只要一輸入就可能會造成破圖或者出現Internal Error (如下圖),錯誤的原因很簡單,十之八九是資料庫的編碼不對而已,原本的編碼有可能是utf8、latin1,但這些編碼無法滿足某些特別的字符,因此,想要支援表情符號的話只要把編碼改成更強大的 utf8mb4 字符編碼就行囉,簡單的來說,utf8mb4是utf8的Superset,能支持更多的字符。
註:如果有遇到中文亂碼的問題,以下的教學也可以適用。
程式設計近幾年來是國際間的發燒議題,也成為成長快速與搶手的職業之一,也同時帶動自學程式的風潮。在台灣,107年的課綱已把程式設計列為義務教育,打算從小培養孩童的科技意識跟國際競爭力,歐美各國也是同樣看重這個軟體應用的趨勢,因為正如Netscape瀏覽器共同創辦人、知名創投馬克・安德森(Marc Andreessen)所述:「軟體正在吃掉整個世界(The Software is eating the world)。」
我們小時候買CD聽音樂、租DVD看電影、拿數位相機旅行拍照、遞紙本求職信找工作,現在所有的功能光一支手機就能辦到,而背後最大的工程非軟體應用程式莫屬,使得技術能力在業界的需求不容小覷,國際最大求職社群平台Linkedin公布一項「2020 年企業最需要的技術技能」排名,硬實力雲端計算、人工智慧、分析推理皆名列前茅。
最近在使用資料庫的時候,發現一個之前一直被我忽略的問題:「查詢欄位值時,如何 區分大小寫 的資料?」。在以往,印象中都只是直接查詢資料庫而已,並沒有特別在意這一點,現在想想,MySQL預設的字串搜尋結果似乎都是不分大小寫的,一般這種情況不會有什麼問題,但遇到網頁呈現有要求要區分大小時,那麼預設的搜尋結果就不符合需求了。
繼上次談了資料庫中文亂碼的問題後,本文將繼續說明使用資料庫一定會遇到的問題: MariaDB/MySQL備份 ,相信大家一定會因為某些需求而需要備份資料庫,所以如何將資料庫的表格或整份資料庫匯出、匯入絕對是一個值得學習的課題,在本文中,除了介紹一些基本的相關語法外,也會試著從不同的角度來測試這些指令的操作結果,進而更了解這些指令所造成的影響。
如果你想要有一個完整的且免費的資料庫範例可以進行練習,那麼可以試試Mariadb官方提供的「Example Databases」,這裡面有提供幾個資料量豐富的資料庫,都是蠻好的練習對象,檔案下載並解壓後其副檔名是「.sql」,配合以下要介紹的匯入功能,把範例資料庫匯入就可以使用了
在使用資料庫的時候,常常會遇到中文亂碼的問題,自己花了點時間找了一些相關資料測試,結果發現大家提供的方法其實算是大同小異,因此,這邊整理了我比較常用的解決方式供大家參考,或許下次有遇到類似的問題時就可以很快的解決。(本文適用於MySQL、Mariadb等資料庫)
在資料庫篩選資料時候,常常會遇到重複資料的問題,因此,我們會使用「DISTINCT」及「GROUP BY」這二個SQL語法來過濾重複資料,但若只針對某一個欄位來篩選,那比較簡單一點,若是要符合不重複資料,而且又要回傳所有的欄位時,對於初學者來說就有一點難度,而且這二個語法的操作並不是所有的資料庫都是一樣的,例如在MySQL和PostgreSQL中這些指令的用法就會有一點不同,怎麼說呢?讓我們用實例來做說明吧。
示範表格:表格名稱為「DemoTable」
在學習SQL語法的時候,最直接的方式當然是架一個資料庫(例如MySQL),然後直接進行測試,不過有時候只是突然想測試一下語法的操作是否正確,若只為了這樣的需求就去裝一個資料庫,這樣實在是太費功夫了,如果可以在線上測試SQL語法的話,那麼是不是很方便呢?基於這樣子的想法,上網去查詢了一下,找到了今天要介紹的主角「SQL Fiddle」,它可以讓用戶直接在上面建立資料,然後進行SQL語法的操作、測試,支援的資料庫方便也不少,常見的MySQL、PostgreSQL、SQLite、Oracle都支援。