Mysql 6

6.2.3.2. Типове данни BLOB и текст

тип BLOB данни е двоичен голям обект, който може да съдържа различно количество данни. Има 4 версии на този тип - TINYBLOB. BLOB. MEDIUMBLOB и LONGBLOB. Той се различава само в максималната продължителност на запаметените стойности. Вижте раздел 6.2.6 ", изискванията за памет за различните видове колони."







ТЕКСТ тип данни има и модификация 4 - TINYTEXT. ТЕКСТ. MEDIUMTEXT и LONGTEXT. , съответстващ на четири вида BLOB и със същите максималните изисквания дължина и памет. Единствената разлика между текст, различен и петно ​​е, че сортиране и сравнение на данните осъществява чувствителни към променливи и BLOB нечувствителен към текст количества. С други думи, текст - не зависи от регистъра на BLOB.

Ако размерът, определен от колона, или BLOB ценности ТЕКСТ надвишава максималната дължина на колоната, стойността се подходящо скъсена.

В повечето случаи колона текстът може да се счита за неограничен размер VARCHAR. И също така, BLOB - като колона от тип VARCHAR двоичен. Разликите със следните параметри:

Колоните от тип BLOB и текст може да бъдат индексирани, във версията на MySQL 3.23.2 или по-нова. По-старите версии на MySQL не подкрепят индексиране на тези колони.







Колони BLOB и типове текст не направени отстраняване на крайните символи, както се прави за тип колона VARCHAR.

За BLOB и колони с текст не може да бъде определен DEFAULT атрибут - стойности на по подразбиране.

В MyODBC ценности тип BLOB се определят като текстът на величина и тип LONGVARBINARY - като LONGVARCHAR.

Тъй като петно ​​на количества и видове текст може да бъде прекалено голяма, когато те се използват, някои ограничения, полезни за да предоставят:

За да разрешите използването на команди GROUP BY или ORDER BY колона в BLOB или текст. трябва да конвертирате стойността на колона в обект с фиксирана дължина. Това обикновено се прави с помощта на подниз на функция. Например:

Ако това не бъде направено, операцията по сортиране в колоната ще се изпълнява само за първия байт, броят на които се определя от max_sort_length. Стойността по подразбиране на max_sort_length равна на 1024; тази стойност може да се променя с помощта на параметър сървър -О Mysqld на при стартиране. Групирането на изразяване, включително с магнитуд BLOB или текст. използва с позиция колона или използването на псевдоним:

Максималният размер на тип BLOB или текстов обект, определен от неговия вид, но най-голямата стойност, която може действително да се предава между клиента и сървъра е ограничена до размера на наличните памет и комуникационни буфери. Можете да промените размера на буфер за предаване единица, но това трябва да се направи както от страна на сървъра и от страна на клиента. Вижте раздел 5.5.2, "Конфигуриране на настройките на сървъра."

Имайте предвид, че вътрешният представителството на всякакъв размер и BLOB тип ТЕКСТ се разпределя отделно обект - за разлика от всички други видове колони, за които се разпределят памет за колона време, когато на масата се отваря.