Извините за мой английский; в нашем проекте SQL Server 2014 у нас есть две таблицы, которые синхронизируются между веб-приложением и устройствами Android (поэтому они есть на всех мобильных устройствах).
В наших базах данных эти две таблицы идентифицируются уникальными идентификаторами типа integer
как первичный ключ, но мы также хотели, чтобы один столбец GUID
"следовал" за данными при его создании.
Наша таблица A имеет следующие столбцы:
A_ID int
A_guid nvarchar (50)
и таблица DetailA:
detailA_ID int
detailA_guid nvarchar (50)
A_guid nvarchar (50) (on mobile only)
Столбцы GUID используются в мобильных приложениях и при синхронизации на сервере SQL, данные «detail» будут искать идентификатор SQL Server, соответствующий «A_guid»:
select A_ID
from A
where A_guid = detailA.A_guid
Все наши данные были связаны между ними через учетные данные SQL Server. Конечно, все работает, пока данных мало. «GUID» скоро займет немного времени. Все наши столбцы GUID имеют формат:
DEVICE_ID-YYYMMDD- [Function NEWID ()]
Применение индекса не очень эффективно. Я думал об изменении формата, чтобы соответствовать:
DEVICE_ID-YYYMMDD_HIS
Но я не знаю, будем ли мы набирать скорость.