影響資料庫(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,能支持更多的字符。
註:如果有遇到中文亂碼的問題,以下的教學也可以適用。
最近在使用資料庫的時候,發現一個之前一直被我忽略的問題:「查詢欄位值時,如何 區分大小寫 的資料?」。在以往,印象中都只是直接查詢資料庫而已,並沒有特別在意這一點,現在想想,MySQL預設的字串搜尋結果似乎都是不分大小寫的,一般這種情況不會有什麼問題,但遇到網頁呈現有要求要區分大小時,那麼預設的搜尋結果就不符合需求了。
繼上次談了資料庫中文亂碼的問題後,本文將繼續說明使用資料庫一定會遇到的問題: MariaDB/MySQL備份 ,相信大家一定會因為某些需求而需要備份資料庫,所以如何將資料庫的表格或整份資料庫匯出、匯入絕對是一個值得學習的課題,在本文中,除了介紹一些基本的相關語法外,也會試著從不同的角度來測試這些指令的操作結果,進而更了解這些指令所造成的影響。
如果你想要有一個完整的且免費的資料庫範例可以進行練習,那麼可以試試Mariadb官方提供的「Example Databases」,這裡面有提供幾個資料量豐富的資料庫,都是蠻好的練習對象,檔案下載並解壓後其副檔名是「.sql」,配合以下要介紹的匯入功能,把範例資料庫匯入就可以使用了
在使用資料庫的時候,常常會遇到中文亂碼的問題,自己花了點時間找了一些相關資料測試,結果發現大家提供的方法其實算是大同小異,因此,這邊整理了我比較常用的解決方式供大家參考,或許下次有遇到類似的問題時就可以很快的解決。(本文適用於MySQL、Mariadb等資料庫)