近年来,我一直在使用MSSQL数据库,在表中所有唯一记录的ID列类型为bigint(长整型)。它是自动递增的,通常情况下运行良好。
目前,我观察到人们更喜欢使用GUID作为记录的标识。
将bigint替换为guid作为唯一记录id是否有意义?
我认为这没有意义,因为生成和排序bigint总是比guid快,但是...当使用两个(或更多)分离的应用程序实例和数据库并将它们保持同步时,会遇到一些麻烦,因此您必须在SQL服务器之间管理ID池(例如:sql1使用从100到200的ID,sql2使用从201到300的ID)-这是一种危险的做法。使用guid id,您不需要担心ID池。
对于我的镜像应用程序(和数据库),您的建议是保留传统的ID还是转移到GUID?
感谢您提前的回复!
目前,我观察到人们更喜欢使用GUID作为记录的标识。
将bigint替换为guid作为唯一记录id是否有意义?
我认为这没有意义,因为生成和排序bigint总是比guid快,但是...当使用两个(或更多)分离的应用程序实例和数据库并将它们保持同步时,会遇到一些麻烦,因此您必须在SQL服务器之间管理ID池(例如:sql1使用从100到200的ID,sql2使用从201到300的ID)-这是一种危险的做法。使用guid id,您不需要担心ID池。
对于我的镜像应用程序(和数据库),您的建议是保留传统的ID还是转移到GUID?
感谢您提前的回复!