1,應該盡量使用可以正確儲存的最小資料型別
更小的資料型別通常更快,因為他們占用更小的磁碟、記憶體和cpu快取,並且處理時需要的cpu週期也更小。
2,簡單就好。
簡單資料型別的操作通常需要更少的cpu週期。例如,整型比字元操作代價更低,因為字符集和校對規則(排序規則)使字元比整型更複雜。
3,盡量避免null
通常情況下最好制定列為not null,除非真的需要儲存null值。如果查詢中包含null的值,對mysql來說更難優化,因為可為null的列使得索引、索引統計和值比較都更複雜。可為null的列會使用更多的儲存空間,在mysql裡也需要特殊處理。當可為null的列時,每個索引記錄需要乙個額外的位元組,在myisam裡甚至還可能導致固定大小的索引(例如只有乙個整數列的索引)變成可變大小的索引。
通常把可為null列改為not null帶來的效能提成比較小,所以沒有必要首先在現有schema中查詢並修改掉這種情況,除非確定這會導致問題。但是,如果計畫在列上建索引,就應該避免設計成可為null的列。
mysql 選擇優化的資料型別需要注意的幾點
選擇優化的資料型別需要注意的幾點 1 盡量使用可以正確儲存資料的最小資料型別,更小的資料型別通常占用更少的磁碟 記憶體 cup快取,並且處理時需要的cpu週期也更少 2 簡單資料型別的操作通常需要更少的cup週期,例如整型比字元操作代價更低 3 避免使用null,因為查詢中包含可為null的列,對m...
MySQL 資料型別選擇原則
通常來說,盡可能使用占用儲存空間小的資料型別來儲存資料。這類資料型別通常也會更快,並且占用的磁碟空間 記憶體乃至快取都更小,而且占用的 cpu 處理週期也少。但是,務必準確估計要儲存的資料值的範圍。因為在資料表結構的多個地方擴充資料範圍會是乙個痛苦且耗時的過程。如果在猶豫哪種資料型別合適,那就選擇你...
mysql優化之選擇資料型別
對資料型別的選擇,可以影響索引的使用,進而影響效能,本博文簡單的說明如何在使用中,選擇資料型別,以幫助查詢過程中,查詢命令能夠更加快速的執行。應該盡可能多的使用數值操作,而不是字串操作。這個好像是顯而易見的,在字串的儲存和比較過程,需要多個位元組的參與。如果 小 型別夠用,就不要選用 大 型別。資料...