У меня есть приложение, которое использует GUID в качестве основного ключа почти во всех таблицах, и я прочитал, что есть проблемы с производительностью при использовании GUID в качестве основного ключа. Честно говоря, я не видел никаких проблем, но я собираюсь запустить новое приложение, и я все еще хочу использовать GUID в качестве основных ключей, но я подумывал использовать Composite Primary Key (GUID и, возможно, другое поле.)
Я использую GUID, потому что они удобны и удобны в управлении, когда у вас есть разные среды, такие как базы данных "production", "test" и "dev", а также для данных миграции между базами данных.
Я буду использовать Entity Framework 4.3, и я хочу назначить Guid в коде приложения, прежде чем вставлять его в базу данных. (т.е. я не хочу, чтобы SQL генерировал Guid).
Какова наилучшая практика для создания первичных ключей на основе GUID, чтобы избежать предполагаемых ударов производительности, связанных с этим подходом?