2014-11-18 5 views
0

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

Мы импортировали данные из другой базы данных в MySQL. В двух таблицах в поле ID есть большие пробелы. Например, в одной таблице идентификаторы от 1 до 5438 имеют меньшие промежутки, но затем следующие несколько идентификаторов: 5823, 6612, 7880, 8577, 12541, и это продолжается до 54189. Затем оно перескакивает до 441739936 и продолжает увеличиваться с большими разрывами в промежутке между 3872082950. Я предполагаю, что когда мы начнем добавлять данные в эту таблицу, следующий идентификатор будет 3872082951 (он настроен на автоматическое увеличение). В таблице всего 5234 строки.

Мои вопросы:

  1. Есть ли какие-либо проблемы с наличием этих больших пробелов? Будет ли это негативно влиять на время ответа на запрос? Есть ли другие негативные побочные эффекты, связанные с этими большими пробелами?
  2. Можете ли вы оставить его как есть или лучше изменить нумерацию идентификаторов, чтобы они были последовательными без пробелов?
+0

Так, если столбец ID установлен на автоприращение и последний идентификатор 3872082950, ​​будет ли он начать автоприращение от того (следующие идентификаторы будут 3872082951, 3872082952 и т. д.)? – runawayd

ответ

2

Нет никаких проблем или штрафов, позволяющих оставлять большие пробелы в базе данных. Это не влияет на производительность. Идентификатор Auto-increment должен быть уникальным, но им не нужно быть последовательным.

0

1) Нет, это привычка

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

0

Нет проблем с наличием пробелов, как указано Биллом, но будьте осторожны, чтобы установить правильный тип данных для поля, чтобы он соответствовал величине значения (bigint и т. Д.).

Вы можете прочитать здесь: http://dev.mysql.com/doc/refman/5.7/en/example-auto-increment.html и найти типы числовых данных здесь: http://dev.mysql.com/doc/refman/5.7/en/numeric-types.html

Смежные вопросы