Zgodnie z definicją:
VARCHAR: zakres o długości od 1 do 255 znaków. Wartości VARCHAR są sortowane i porównywane bez uwzględniania wielkości liter, chyba że podano słowo kluczowe BINARY. x + 1 bajty
TINYBLOB, TINYTEXT: kolumna BLOB lub TEXT o maksymalnej długości 255 (2 ^ 8-1) znaków x + 1 bajt
Na tej podstawie tworzę następującą tabelę:
CREATE TABLE `user` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255),
`lastname` tinytext,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
A może lepiej jest utworzyć varchar lub tinytext i dlaczego ?
Czy to samo dotyczy:
VARCHAR: zakres Długość wynosi> 255 znaków. Wartości VARCHAR są sortowane i porównywane bez uwzględniania wielkości liter, chyba że podano słowo kluczowe BINARY. x + 2 bajty
Kolumna BLOB, TEXT A BLOB lub TEXT o maksymalnej długości 65535 (2 ^ 16 - 1) znaków x + 2 bajty
Odpowiedzi:
W tym przypadku
varchar
jest lepiej.Zauważ, że
varchar
może to być od 1 do 65535 znaków.Obiekty BLOB są zapisywane w oddzielnej sekcji pliku.
Wymagają dodatkowego pliku do uwzględnienia w danych.
Z tego powodu varchar jest pobierany znacznie szybciej.
Jeśli masz duży obiekt BLOB, do którego rzadko uzyskujesz dostęp, bardziej sensowne jest użycie obiektu BLOB.
Przechowywanie danych BLOB w oddzielnym (części) pliku umożliwia zmniejszenie rozmiaru podstawowego pliku danych, a tym samym szybsze pobieranie.
źródło