Какой тип данных вы используете для хранения идентификаторов? - PullRequest
4 голосов
/ 17 октября 2008

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

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

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

Ответы [ 7 ]

6 голосов
/ 17 октября 2008

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

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

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

1 голос
/ 17 октября 2008

Мне очень нравится Гуид. Лучше всего то, что они могут быть легко сгенерированы на клиенте или сервере без каких-либо поездок в базу данных. Также, если вам когда-нибудь придется синхронизировать базы данных, они будут отправлены богом. Единственный недостаток, который я нахожу в веб-приложениях: если вы передадите ключ по URL, тогда вы можете легко получить грязные строки запроса.

1 голос
/ 17 октября 2008

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

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

1 голос
/ 17 октября 2008

Я обнаружил, что int довольно большой.

Уменьшаться - бессмысленно. , .

0 голосов
/ 17 октября 2008

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

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

0 голосов
/ 17 октября 2008

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

0 голосов
/ 17 октября 2008

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

...