2012-07-24 11 views
81

Che cos'è blob e cosa è text? Quali sono le differenze?Quali sono le differenze tra i tipi di dati BLOB e TEXT in MySQL?

Quando è necessario utilizzare blob e quando è necessario text come tipo di dati?

Perché per blob e text, ci sono mediumblob == mediumtext, smallblob == small text. Hanno anche lo stesso significato?

E guarda questo MEDIUMBLOB, MEDIUMTEXT L + 3 byte, dove L < 224.

Che cos'è L?

+0

Penso che questo post risponde alla tua domanda http://stackoverflow.com/questions/7071662/mysql-text-vs-blob-vs-clob – earlonrails

risposta

70

TEXT e CHAR convertiranno in/dal set di caratteri che hanno associato con il tempo. BLOB e BINARY memorizzano semplicemente i byte.

BLOB viene utilizzato per la memorizzazione di dati binari mentre Testo viene utilizzato per memorizzare una stringa di grandi dimensioni.

I valori BLOB sono trattati come stringhe binarie (stringhe di byte). Non hanno set di caratteri e l'ordinamento e il confronto si basano sui valori numerici dei byte nei valori delle colonne.

I valori di TEXT vengono considerati stringhe non binarie (stringhe di caratteri). Hanno un set di caratteri, e i valori sono ordinati e confrontati in base alle regole di confronto del set di caratteri.

http://dev.mysql.com/doc/refman/5.0/en/blob.html

+3

così, usiamo il testo per memorizzare testo lungo come "post wordpress "? e usiamo BLOB per memorizzare indirizzi URL molto lunghi? quindi perché non usiamo varchar per memorizzare un testo molto lungo invece di usare blob o testo? perché in memoria di calcolo, varchar è molto semplice, per esempio creare sito web tavolo (WEBSITE_NAME varchar (30)) e poi riempire il "StackOverflow" WEBSITE_NAME così la memoria necessaria è 13byte – nencor

+4

TESTO sta per essere sostituito con Varchar (MAX) ma per ora, a seconda della versione di mysql, usate TEXT per messaggi di testo di grandi dimensioni come post di blog, ecc. BLOB non dovrebbe essere usato per memorizzare indirizzi URL molto lunghi o grandi quantità di testo. È normalmente utilizzato per memorizzare immagini o altri oggetti basati su binari. Personalmente non utilizzo mai BLOB o TEXT e memorizzo grandi quantità di dati in file xml relativi a cartelle basate su ID utente. – Darcey

+0

Non capisco l'oggetto basato su binario. vuoi dire, possiamo memorizzare le foto nel database usando il tipo di dati Blob ?? proprio come la cartella? tutto ciò che so di binario è solo 1 o 0. – nencor

5

Un BLOB è una stringa binaria per contenere una quantità variabile di dati. Per la maggior parte, i BLOB vengono utilizzati per contenere l'immagine binario effettiva anziché il percorso e le informazioni sui file. Il testo è per grandi quantità di caratteri stringa. Normalmente un blog o articolo di notizie costituirebbe un campo TEXT

L in questo caso viene utilizzato il requisito di archiviazione. (Lunghezza | Size + 3) fintanto che è inferiore a 224.

Riferimento: http://dev.mysql.com/doc/refman/5.0/en/blob.html

8

TESTO e CHAR o nchar che in genere essere convertito in testo semplice in modo da poter solo testo negozio come stringhe.

BLOB e BINARY che significano che è possibile memorizzare dati binari come immagini semplicemente memorizzare byte.

+0

cosa intendi per memorizzare dati binari come l'immagine? intendevi l'URL dell'immagine? – nencor

+1

no umage url è un testo ma l'immagine come un file è binario –

7

Datatypes blob memorizza oggetti binari come immagini mentre gli oggetti Datatypes testo negozi di testo come articoli di pagine web

0

blob è grande oggetto binario che contiene una quantità variabile di dati. I valori vengono trattati come stringhe binarie. Non è necessario specificare la lunghezza durante la creazione di una colonna.

in Testo I valori vengono considerati come stringhe di caratteri con un set di caratteri.

Ogni valore BLOB o TEXT è rappresentato internamente da un oggetto assegnato separatamente. In alcuni casi, potrebbe essere preferibile memorizzare dati binari come file multimediali in colonne BLOB o TEXT.

Problemi correlati