INT vs VARCHAR тип данных для первичных ключей - PullRequest
3 голосов
/ 09 февраля 2012

Какой из типов данных INTEGER и VARCHAR лучше использовать в качестве первичных ключей и почему?Я привык делать свои первичные ключи INTEGER, будет ли использование VARCAHR ухудшать производительность?

Ответы [ 3 ]

3 голосов
/ 09 февраля 2012

INT быстрее для индекса кластера, и если мы хотим объединиться с другой таблицей.

Вы получите представление, если у вас есть понимание индекса Clustor и JOIN

3 голосов
/ 09 февраля 2012

Целые числа:

  • Занимает меньше места для их хранения
  • Вы можете настроить автоинкремент, чтобы автоматически получать уникальный идентификатор

Varchar:

  • Вы можете хранить нечисловые данные

По скорости они почти идентичны.

1 голос
/ 09 февраля 2012

Это зависит от потребностей вашего бизнеса. Первичный ключ также является столбцом, поэтому тип действительно зависит от столбца. Например, рассмотрим таблицу «ученик». student_id является первичным ключом. Если вы используете целое число для представления идентификатора, основной столбец должен быть определен как INT. Или, если вы используете что-то вроде «G12345» (G обозначает аспиранта), тогда вам следует использовать varchar.

...