2014年10月31日 星期五

[Table Schema]文字欄位的考量,應該選擇char還是varchar?


varchar因為有動態選擇大小的好處,所以以前都以varchar為文字欄位的第一選擇,看了一些書上的設計都以char為主要文字考量,上網查了一下資料

最後了解選擇char主要的考量是效能,有興趣的可以參考

MySQL varchar 長度和效能問題


char欄位會將未填滿的空間以空格填滿,所以第一考量是查詢時的where條仵是否正常(總不 能每次都要Trim掉空格吧)


先以describe [TableName] 查詢表格的schema



裡面有兩筆資料








以正常條仵查詢,結果:正常

select * from event_logs where message='name'










查詢條件「後面」增加空格,結果:正常

select * from event_logs where message='name  '









查詢條件「前面」增加空格,結果:不正常

select * from event_logs where message='  name'








看起來char欄位在查詢時會自動將後面空格略過,以length()函數查詢長度也是不含空格的字數

select length(message) from event_logs where message='name  '











結論:接下來文字欄位應該都以char為設計欄位了


2014年10月19日 星期日

修復vmware無法正常顯示硬碟空間的情況

因為原本設定的硬碟空間太小,增加了空間之後想說順便重組一下,等待的過程中又開了其他程式,沒想到................當機


之後原本的Ubuntu的OS就離我而去了......(竟然沒有顯示硬碟)



後來看到可能的解決方法,因為如果虛擬系統是選擇用多個檔案儲存(建立系統的時候會問用單一檔案還是多個檔案),裡面出現一個檔案名怪怪的,不過要變更名稱前要記得備份喲


開啟第一個.wmdk的檔案,裡面記錄了應該載入的檔案名(果然是這個原因)


將檔案名稱改回正常對應的名稱後,再重新開啟.wmx檔案,果然就正常了






熱門文章