Что является верхним пределом записей для таблицы базы данных MySQL. Я задаюсь вопросом об автоинкрементном поле. Что произошло бы, если я добавляю миллионы записей? Как обработать этот вид ситуаций? Спасибо!
mysql типы int могут делать довольно много строк: http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html
unsigned int
наибольшее значение - 4,294,967,295
unsigned bigint
наибольшее значение - 18,446,744,073,709,551,615
Наибольшее значение целого числа имеет мало общего с максимальным количеством строк, которое вы можете сохранить в таблице.
Это правда, что если вы используете int или bigint в качестве первичного ключа, у вас может быть столько строк, сколько уникальных значений в типе данных вашего первичного ключа, но вам не нужно делать первичным key целое число, вы можете сделать его CHAR (100). Вы также можете объявить первичный ключ для нескольких столбцов.
Существуют и другие ограничения на размер таблицы, помимо количества строк. Например, вы можете использовать операционную систему с ограничением размера файла. Или у вас может быть жесткий диск емкостью 300 ГБ, на котором может храниться только 300 миллионов строк, если размер каждой строки составляет 1 КБ.
Пределы размера базы данных действительно высоки:
http://dev.mysql.com/doc/refman/5.1/en/source-configuration-options.html
Механизм хранения MyISAM поддерживает 2 32 строк на таблицу, но вы можете построить MySQL с параметром - with-big-tables
, чтобы он поддерживал до 2 64 строк на таблицу.
http://dev.mysql.com/doc/refman/5.1/en/innodb-restrictions.html
Механизм хранения InnoDB, похоже, не имеет ограничения на количество строк, но имеет ограничение на размер таблицы 64 терабайта. Сколько строк в него помещается, зависит от размера каждой строки.