對於存儲和計算來說,int(10)和int(11)沒有區別,10代表數字長度
他們的區別在於: 不給十位,前面補0 比如 int(10) 就是0000000001 補了九個零
int(11) 就是00000000001 補了十個零
反正一定要達到10位,或者11位 不夠就補零
navicat 演示
但是
他們的存儲空間,是一樣的
聲明字段是int類型的那一刻起,int就是占四個字節,一個字節8位,也就是4*8=32,可以表示的數字個數是2的32次方(2^32 = 4 294 967 296個數字)。
當然如果區分正負號的話所存的數字會比較小。
但是TINYINT和INT區別就大了,TINYINT占用1個字節,也就是取值是-128~127。
所以盡可能取占用空間小的整數類型。
合適的字符存儲長度,不但節約數據庫表空間、節約索引存儲,更重要的是提升檢索速度。
放個文檔
https://dev.mysql.com/doc/refman/5.7/en/integer-types.html