PostgreSQL的id选择uuid类型还是string,请从查询性能解释一下,谢谢

如题。PostGreSQL查询时,uuid是怎么比较的,我设置id类型的时候推荐使用哪种类型?

阅读 13.6k
2 个回答

uuid也是字符串类型的,查询性能肯定不高,推荐在建表的时候写成serial类型,可以同时生成序列自增。

PostgreSQL 能夠很靈活的定義字段類型, 甚至是你自己定義類型
這個 uuid 類型即是如此, 實際上 uuid 存儲是通過 varchar 來存儲的
查詢中和 varchar 的查詢方式相同, 真對於 varchar 的一些函數,
比如 length , 因爲字段是 uuid 類型不能直接使用可以通過 col::varchar
轉換一次.
和 varchar 類型主要不同是, uuid 或者自定義類型, 寫入時是限定寫入格式的, 比如 uuid 類型的字段
寫入數據時格式必須是 uuid 字符串, 不符合這個格式, 寫入就會報錯

另主鍵設置, int 相對 varchar 要快(不過依稀記得在某處見過說 PostgreSQL 中其實差不多, 當然應該是長度相當).
關於自增, 其實很多場景下並不完美, 這就看具體需求了.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题