看到很多的网站详情页面不是用id,比如http://www.xxxxx.com/job/?id=cWZBZU1ES3R2U0k9不知道这样方式的数据库是如何设计的,小弟不才,想到以下两种方法
第一种: 弃用自增长id,加个字段存取随机 id字符串加索引?第二种保留自增长。 增加一个字符串并索引还是有其他更好解决方案说说各自的优缺点!

解决方案 »

  1.   

    自增id的取舍关键看你的实际应用来决定,项目不涉及分布式数据存储、数据迁移等,自增id就是方便。如果你的项目复杂,考虑到后续扩展应用,使用自定义ID比较灵活。自定义ID关键是要有个算法生成不重重复的ID,
    比如Guid算法就可以根据设备硬件信息生成具有唯一性的ID。
      

  2.   

    自增ID在设计表的最好自增的,并且ID不要设置成字符串的,
    id 为in型,对性能考虑。
      

  3.   

    自增ID在设计表的最好自增的,并且ID不要设置成字符串的,
    id 为int型,对性能考虑。
      

  4.   

    http://www.xxxxx.com/job/?id=cWZBZU1ES3R2U0k9这种id多半还是自增int型,只是为了安全考虑,输入输出的时候对id进行了加解密。
    MySQL的InnoDB引擎,由于InnoDB本身的机制,int自增id的性能会比uuid好很多。
    如果是分布式数据库,就不能依赖数据库的自增,需要有一个小程序进行处理。
    数据不多int型就够了,如果数据量比较大,bigint也应该能解决问题。