主键索引一般用什么类型

 
  • int类型,适合分页排序,递增递减等,查询快,如果数据库经常迁移的话,int不适合,,容易造成混乱

  • 使用GUID(全球唯一标识)。不存在重复问题,数据合并时非常简单。关联速度比int慢。经常合并数据或脱机输入数据联机上传最好用此方案。 guid  数值是随机的,而且不接受可以对使用者更具意义的任何形式。没有办法判定产生 guid 值的顺序,所以不适合用于现有依循环次序递增索引键值的应用程序

  • 使用uuid和雪花id:全局唯一,适合经常合并数据或数据迁移时使用,但由于其不规律性会对索引造成影响(频繁的页分裂)

  • 数据库自增id:容易泄漏信息,会有锁竞争的情况

根据需求

  • 就性能而言,还是整形值的效率会高些(很有限),如果记录多就用long,否则用int

  • 如果有特殊需要用varchar也没什么,在性能上的表现是不明显的。整形值比字符形的另一个优点就是可以通过数据库实现自增加列,减少编程的复杂性

posted @ 2021-09-25 22:17  进击的小蔡鸟  阅读(120)  评论(0编辑  收藏  举报