Использует MS Идентификационные данные SQL хорошая практика?

Я сталкиваюсь с той же проблемой. Благодаря ShadowsocksR я могу посещать некоторые веб-сайты, которые я не могу посетить без ShadowsocksR. Я использую Intellij, ошибка «Тайм-аут соединения: connect -> [Help 1]». Наконец, я также добавил свою конфигурацию прокси как:



   
   
      example-proxy
      true
      http
      localhost
      1080
      ***.***.**.***:****
      *******
      www.baidu.com|*.example.com
    
  

Моя компьютерная среда - win10. http://maven.apache.org/guides/mini/guide-proxies.html

5
задан Cade Roux 30 May 2009 в 07:22
поделиться

5 ответов

Да, они работают очень хорошо, надежны и работают лучше всех. Одно из больших преимуществ использования полей идентификаторов по сравнению с обычными заключается в том, что они решают все сложные проблемы параллелизма, когда несколько вызывающих лиц пытаются зарезервировать новые идентификаторы. Это может показаться чем-то тривиальным для кодирования, но это не так.

Эти ссылки ниже предлагают некоторую интересную информацию о полях идентификаторов и о том, почему вы должны использовать их по возможности.

  1. DB: Использовать столбец идентификаторов или нет?
  2. http : //www.codeproject.com/KB/database/AgileWareNewGuid.aspx? display = Print
  3. http://www.sqlmag.com/Article/ArticleID/48165/sql_server_48165.html
10
ответ дан 18 December 2019 в 05:29
поделиться

Лично я не мог жить без столбцов идентификаторов и использовать их везде, однако есть некоторые причины подумать о том, чтобы не использовать их.

Первоначально основная причина не использовать столбцы идентификаторов AFAIK возник из-за распределенных схем с несколькими базами данных (отключенных) с использованием репликации и / или различных компонентов промежуточного программного обеспечения для перемещения данных. Просто не было доступного механизма распределенной синхронизации и, следовательно, не было надежных средств предотвращения коллизий. Это существенно изменилось, поскольку SQL Server поддерживает распространение идентификаторов. Однако их использование все еще может не соответствовать более сложным схемам репликации, управляемым приложением.

Они могут привести к утечке информации. Идентификаторы счета, номера счетов-фактур и т. Д. Если я получаю от вас счет каждый месяц, я могу приблизительно оценить количество отправленных вами счетов или имеющихся у вас клиентов.

У меня все время возникают проблемы с объединением баз данных клиентов, и все стороны по-прежнему хотят сохранить свои старые номера счетов. Иногда это заставляет меня сомневаться в своей пристрастии к полям идентичности :)

Как и на большинство вещей, окончательный ответ - «это зависит», особенности данной ситуации обязательно должны иметь большое значение при принятии вашего решения.

14
ответ дан 18 December 2019 в 05:29
поделиться

Всегда возникает вопрос:

Каковы шансы, что вы реально собираетесь мигрировать из одной базы данных в другую? Если вы создаете приложение с несколькими базами данных, это Другое дело, но большинство приложений никогда не переносятся на новую промежуточную базу данных - особенно когда они начинаются с чего-то столь же надежного, как SQL Server.

Конструкция идентичности превосходна, и действительно очень мало причин, по которым вы не следует его использовать. Если вам интересно, я написал в блоге статью о некоторых распространенных мифах, связанных с ценностями идентичности.

Свойство IDENTITY: сильно злонамеренная конструкция в SQL Server

5
ответ дан 18 December 2019 в 05:29
поделиться

Хорошая статья об идентичностях, http://www.simple-talk.com/sql/t-sql-programming/identity-columns/

ИМО, переход на другую В наши дни СУБД редко требуется. Даже если это необходимо, лучший способ разработки переносимых приложений - это разработать слой хранимых процедур, изолирующий ваше приложение от проприетарных функций:

http://sqlblog.com/blogs/alexander_kuznetsov/archive/2009/02/24 /writing-ansi-standard-sql-is-not-practical.aspx

1
ответ дан 18 December 2019 в 05:29
поделиться

Да.

Обычно они работают по назначению, и вы можете использовать команду DBCC CHECKIDENT для управления ими и работы с ними.

Наиболее распространенная идея о них. идентичность заключается в предоставлении упорядоченного списка чисел, на котором будет основан первичный ключ.

Изменить: Я ошибался насчет коэффициента заполнения, я не учел, что все вставки будут происходить на одном сторона B-дерева.

Кроме того, в пересмотренном вопросе вы спросили о миграции из одной БД в другую:

С идентичностями все в порядке, если миграция является односторонней репликацией. Если у вас есть две базы данных, которые необходимо реплицировать друг в друга, столбец UniqueIdentifier может быть вашим лучшим выбором.

См .: Когда вы действительно вынуждены использовать UUID как часть дизайна? для обсуждения о том, когда использовать UUID в базе данных.

5
ответ дан 18 December 2019 в 05:29
поделиться