Максимальная длина строки MySQL — можно ли увеличить?

Мне было интересно, можно ли увеличить максимальную длину строки MySQL с помощью механизма InnoDB. Текущий 8КБ.

Я также хотел бы знать, что обеспечивает соблюдение этого ограничения. Я не помню, чтобы у Oracle 10 или MSSQL 2005 было такое ограничение.

Благодарю вас!


person Timmo    schedule 03.02.2011    source источник
comment
Это может помочь stackoverflow .com/questions/15585602/   -  person Kaspi    schedule 21.11.2015


Ответы (3)


Вам необходимо изменить inno_db_page_size, проверьте http://www.mysqlperformanceblog.com/2006/06/04/innodb-page-size/ Может быть 8K, 16K, 32K или 64K, по умолчанию 16K.

person Frank Heikens    schedule 03.02.2011
comment
Я был бы сумасшедшим, если бы начал взламывать СУБД, которой будут пользоваться тысячи людей. Я это уже знал. Я подумал, может быть, я мог бы установить это через некоторую конфигурацию. Я также хотел бы знать, что обеспечивает соблюдение этого ограничения. - person Timmo; 04.02.2011

MS SQL Server также имеет это ограничение. Чтобы обойти это, вы можете использовать большие объекты (такие как CLOB, BLOB, TEXT и т. д.), поскольку они не являются частью самой записи.

В качестве альтернативы вы можете разделить свою таблицу на две таблицы, связанные 1:1. Может быть, вы могли бы немного рассказать, чего вы пытаетесь достичь и почему ваш стол такой большой.

person Tim Büthe    schedule 03.02.2011

Это ограничение для таблиц InnoDB, и его нельзя изменить. Согласно документам:

Максимальная длина строки, за исключением столбцов переменной длины (VARBINARY, VARCHAR, BLOB и TEXT), составляет чуть меньше половины страницы базы данных. То есть максимальная длина строки составляет около 8000 байт.

Вам придется подумать о редизайне вашего стола.

person dogbane    schedule 03.02.2011