如题。PostGreSQL查询时,uuid是怎么比较的,我设置id类型的时候推荐使用哪种类型?
uuid本身就是string,但是uuid对位数有要求,所以如果你的数据量不大的时候,也就是string的位数不多的时候,string是有优势的。但是,长string做主键,本身对性能就是有影响的,因为string占的空间大,索引空间也大。更好的做法是使用数字做主键,减少索引长度。
PostgreSQL 能夠很靈活的定義字段類型, 甚至是你自己定義類型
這個 uuid 類型即是如此, 實際上 uuid 存儲是通過 varchar 來存儲的
查詢中和 varchar 的查詢方式相同, 真對於 varchar 的一些函數,
比如 length , 因爲字段是 uuid 類型不能直接使用可以通過 col::varchar
轉換一次.
和 varchar 類型主要不同是, uuid 或者自定義類型, 寫入時是限定寫入格式的, 比如 uuid 類型的字段
寫入數據時格式必須是 uuid 字符串, 不符合這個格式, 寫入就會報錯
另主鍵設置, int 相對 varchar 要快(不過依稀記得在某處見過說 PostgreSQL 中其實差不多, 當然應該是長度相當).
關於自增, 其實很多場景下並不完美, 這就看具體需求了.
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。