Какой тип данных вы используете для хранения идентификаторов?

StackOverflow https://stackoverflow.com/questions/210770

  •  03-07-2019
  •  | 
  •  

Вопрос

Почему существует минимальное количество символов для публикации вопросов?о.О

Вы используете int, bigint, tinyint, что угодно?

Наверное, это кажется мелочью, мне просто интересно, какова обычная практика

Это было полезно?

Решение

Все зависит от обстоятельств ...мой любимый ответ на вопрос!=)

Большую часть времени мы используем Guid.Хотя они больше по размеру, чем int, tinyint и так далее, мне нравится тот факт, что мои бизнес-объекты могут знать в чем заключается эта ценность до того, как вставка записей в базу данных.

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

Другие советы

Я обнаружил, что int достаточно велик.

Уменьшаться в размерах бессмысленно ...

Мы также используем GUID.

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

Мне очень нравится Guid's.Самое лучшее, что они могут быть легко сгенерированы на клиенте или сервере без каких-либо обращений к базе данных.Кроме того, если вам когда-нибудь понадобится синхронизировать базы данных, это будет божьей помощью.Единственный недостаток, который я нахожу, - это веб-приложения, если вы передаете ключ по URL-адресу, то вы можете легко получить беспорядочные строки запроса.

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

Нужно больше информации.Какие идентификаторы вы храните?Что-либо меньшее, чем int, вероятно, является плохой идеей, строка может иметь смысл, учитывая, что у нее нет крошечной проблемы с нехваткой цифр и она не ограничена числами, поэтому вы могли бы использовать имя пользователя в качестве идентификатора, например.

Я повторю мнение Джейсона о том, что при использовании guid всегда должен быть сравнительный столбец.Я предпочитаю последовательности, а не guid, хотя последовательность вам понадобится в любом случае.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top