Заранее извините, поскольку этот вопрос похож (но не совпадает!) С другими.
В любом случае, мне нужно иметь возможность генерировать суррогатные ключи в нескольких местах для синхронизации в более позднее время. Я рассматривал возможность использования идентификаторов GUID, однако, возможно, эти ключи должны присутствовать в параметрах URL, а идентификаторы GUID будут действительно сложными и безобразными.
Я рассматривал схему, которая позволила бы мне использовать целые числа, обеспечивающие лучшую производительность в базе данных, но, очевидно, я не могу просто использовать автоматические числа. Идея состоит в том, чтобы использовать ключ с двумя значениями - стратегию Хай-Лоу, как я считаю, она называется. Ключ будет состоять из источника (где он был сгенерирован, как правило, 1 из 2 местоположений в этом экономическом случае) и автоматически увеличенного значения. Например:
1-000000567,
1-000000568,
1-000000569,
1-000000570,
...
А для другого источника:
2-000000567,
2-000000567,
...
Это также означает, что я могу хранить их в базе данных как целые числа (т. Е. «2-000000567» станет целым числом «2000000567»).
Может кто-нибудь увидеть какие-либо проблемы с этим? Например, индексация или фрагментация , что может произойти? Или, может быть, даже лучший способ сделать это?
Просто чтобы подтвердить, что в этом ключе нет никакого делового значения, пользователь никогда не увидит его (кроме, возможно, в параметрах URL) и не будет его использовать.
Я с нетерпением жду вашего мнения и ценю ваше время, спасибо миллион:)