Mysql
 sql >> база данни >  >> RDS >> Mysql

Съхраняване на изображение в базата данни директно или като base64 данни?

Твърдя, че изображенията (файловете) обикновено НЕ се съхраняват в база данни, кодирани в base64. Вместо това те се съхраняват в необработената си двоична форма в двоична колона (blob) или файл.

Base64 се използва само като транспортен механизъм, а не за съхранение. Например, можете да вградите изображение, кодирано с base64, в XML документ или имейл съобщение.

Base64 също е удобен за поточно предаване. Можете да кодирате и декодирате в движение (без да знаете общия размер на данните).

Въпреки че base64 е подходящ за транспортиране, не съхранявайте вашите изображения, кодирани в base64 .

Base64 не предоставя контролна сума или нещо с каквато и да е стойност за съхранение.

Base64 кодирането увеличава изискването за съхранение с 33% спрямо необработен двоичен формат. Той също така увеличава количеството данни, които трябва да бъдат прочетени от постоянното хранилище, което като цяло все още е най-голямата пречка в изчисленията. Като цяло е по-бързо да четете по-малко байтове и да ги кодирате в движение. Само ако вашата система е свързана с процесора, вместо с IO и редовно извеждате изображението в base64, тогава помислете за съхранение в base64.

Вградените изображения (изображения, кодирани в base64, вградени в HTML) сами по себе си са пречка – изпращате 33% повече данни по кабела и го правите последователно (уеб браузърът трябва да изчака вградените изображения, преди да може да завърши изтеглянето на страницата HTML).

Ако все пак искате да съхранявате изображения, кодирани с base64, моля, каквото и да правите, уверете се, че не съхранявате кодирани в base64 данни в UTF8 колона, след което ги индексирайте.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да мигрираме от Oracle към MySQL / Percona Server

  2. Функция MySQL ATAN() – Връща дъгата на тангенса на стойност (или стойности)

  3. SQL ключове, MUL срещу PRI срещу UNI

  4. Публикувайте и получавайте едновременно в php

  5. MySQL ПРИ АКТУАЛИЗИРАНЕ НА ДУБЛИРАН КЛЮЧ за множество редове, вмъкване в една заявка