我们有一个应用程序(IONIC 2手机应用程序前端,带有MySql Server的ASP .Net Core 2.0 Web Api后端)。
手机应用程序需要能够在离线模式下工作,并且能够在有互联网连接时同步(上下)。我立即意识到MySql数据库中的自动递增int主键将是一个问题,并考虑使用GUID / UUID主键。但我担心表现。我有两个问题:
在MySql中存储UUID字段的最佳方法是什么? CHAR(36)?据我所知,MySql没有专用的UUID数据类型? (我正在使用MySql Server 5.6.30)
最好不要让它成为主键,这样它不是独一无二的吗?当然这会加速表现?并且UUID几乎保证是唯一的,因此MySql Server不需要浪费时间检查这个......
由于
答案 0 :(得分:1)
如果没有完整的详细信息,我会建议以下一般工作流程:
sync
的列,用于跟踪本地记录是否已被推送到服务器
这里的基本思想是尽可能专注于保持一个版本的真相。不要为您的应用分配任务,并为服务器一无所知的产品分配ID。首先,分配这样的ID是否有意义,然后用户决定在没有同步的情况下删除产品?