关于数据库表的主键ID的数据类型(使用GUID和自增长类型)的疑惑
我发现好多的项目中现在流行的数据表主键是GUID,一般在数据库中的存储类型为char(36)。但是我个人感觉这个设计很浪费资源:一是字段长度是36(点位36字节),而自增长只占8字节(int);二是貌似在此字段上建立索引没有什么实际作用(GUID中字符无序的);三是在二、三范式下关联查询时主键偏偏又是关联字段,增加了记录的行长度的同时查询用索引又无实际效果。在这三种情况下我觉得用GUID做主键简直是“暴殄天物”(个人认为),可为什么还有好多人这么用呢?而且在百度找这方面的资料时,看到有人说用自增长作主键的人都是国内不专业的开发人员(听那口气貌似对这样的人很不屑的样子)。
我就疑惑了,用GUID作主键就很专业吗,那么对于数据查询速度的考虑呢?
老师,你们在开发过程中是用什么做主键的呢,很纠结,希望老师能回复下,谢谢