Генерация последовательности Фибоначчи

Что такое VARCHAR (max)?

varchar(max) - это функция Microsoft SQL Server.

Объем данных, которые столбец мог хранить в версиях Microsoft SQL Server ранее к версии 2005 был ограничен 8 КБ. Для хранения более 8 КБ вам пришлось бы использовать типы столбцов TEXT, NTEXT или BLOB, эти типы столбцов сохраняли свои данные в виде коллекции из 8K страниц, отдельно от страниц данных таблицы; они поддерживали сохранение до 2 ГБ на строку.

Большим оговоркой к этим типам столбцов было то, что они обычно требовали специальных функций и операторов для доступа и изменения данных (например, READTEXT, WRITETEXT и UPDATETEXT)

В SQL Server 2005 была введена varchar(max) для унификации данных и запросов, используемых для извлечения и изменения данных в больших столбцах. Данные для столбцов varchar(max) хранятся в строках со страницами данных таблицы.

Поскольку данные в столбце MAX заполняют страницу данных 8 КБ, выделяется страница переполнения, а предыдущая страница указывает на нее, образуя связанный список. В отличие от TEXT, NTEXT и BLOB, тип столбца varchar(max) поддерживает все семантику запроса как другие типы столбцов.

Таким образом, varchar(MAX) действительно означает varchar(AS_MUCH_AS_I_WANT_TO_STUFF_IN_HERE_JUST_KEEP_GROWING), а не varchar(MAX_SIZE_OF_A_COLUMN).

MySql не имеет эквивалентной идиомы.

Чтобы получить тот же объема хранения в качестве varchar(max) в MySql, вам все равно придется обращаться к типу столбца BLOB. В этой статье обсуждается очень эффективный метод эффективного хранения больших объемов данных в MySql.

23
задан Cœur 2 January 2019 в 01:56
поделиться