是否有比smallint(16bit)更小的數據類型?我需要一個只有1到31的數字的列,所以我認爲5bits足夠了,我不想浪費空間,每個元組的開銷爲11位。PostgreSQL:小於smallint的數據類型?
1
A
回答
3
在docs有沒有這樣的1個字節的整數,所以我認爲最好的方法是用小INT。如果你不考慮做任何數學運算,你也可以使用varchar(2)(但這不是最好的想法)。
2
這是一個實際的擔憂?浪費了多少磁盤和內存?您是否準備好對數據類型進行此類更改所需的任何可能的減速或代碼更改?
如果是肯定的,看看bit string types。
+0
在PostgreSQL中,一個5位的位串需要6個字節 - 1個字節的值加上5個字節的開銷。 –
+0
爲什麼這個奇怪的行爲? – tyranitar
1
如果您需要31 值而不是31個數字,您可以使用CHAR(1)和CHECK()約束。
your_column char(1) not null
check (your_column in ('a','b','c'...'z','1','2','3','4','5'))
但我不認爲這是一個好主意。 (5位「類型」往往會被無論如何填充至8位邊界)。
相關問題
- 1. 提取數據類型大小PostgreSQL
- 2. 數據類型與PostgreSQL的
- 3. PostgreSQL和C數據類型
- 4. smallint的算術溢出錯誤 - 但數據類型是int?
- 5. 在mysql中更改smallint數據類型的格式
- 6. 哪個數據類型用於小數?
- 7. PostgreSQL函數在smallint中recort uint
- 8. 如何爲Postgresql中的列分配數據類型小數?
- 9. postgresql中「TEXT」數據類型的最大大小
- 10. 檢索postgresql列的數據類型,大小,精度和規模
- 11. PostgreSQL中JSON數據類型的大小限制
- 12. 的PostgreSQL到Java數據類型(Grails的)
- 13. Swift Vapor/Fluent模型中的其他數據類型(例如Unsigned SmallInt,Datetime和Decimal)?
- 14. PostgreSQL中的幾何數據類型
- 15. PostgreSQL數據庫中ZipCode的列類型?
- 16. 確定PostgreSQL中的列數據類型
- 17. PostgreSQL中URL的數據類型
- 18. 映射休眠布爾值SMALLINT PostgreSQL的
- 19. PostgreSQL數據類型格式化函數
- 20. 數值範圍數據類型postgresql
- 21. float vs smallint vs mysql中的小數點
- 22. 用於存儲鍵值映射的最佳PostgreSQL數據類型?
- 23. 用於IPv4地址的PostgreSQL字段數據類型
- 24. PostgreSQL + Django:用於多類型數據的SQL設計模式
- 25. Rails和PostgreSQL中用於Facebook用戶標識的數據類型
- 26. JPA - 用於PostgreSQL的映射序列(主鍵)數據類型
- 27. TINYINT(字節),SMALLINT(Int16類型)在EF5
- 28. 爲INT型比SMALLINT
- 29. 哪些類型的數據用於小型項目
- 30. 數據庫錯誤:「類型錯誤:無效的PostgreSQL類型:BIGINT」
你可能會找到答案的http://stackoverflow.com/questions/3090138/is-it-possible-to-store -a-1-byte-number-in-postgres有幫助。 – daxelrod