sql >> Databáze >  >> RDS >> Mysql

MySQL - Base64 vs BLOB

JSON předpokládá utf8, a proto je nekompatibilní s obrázky, pokud nejsou nějakým způsobem zakódovány.

Base64 je téměř přesně 8/6 krát objemnější než binární (BLOB). Někdo by mohl namítnout, že je to snadno dostupné. 3000 bytes bude mít asi 4000 bytes .

Všichni by měli být schopen přijímat libovolné 8bitové kódy, ale ne každý to dělá. Base-64 může být nejjednodušší a celkově nejlepší kompromis pro to, že se nemusíte zabývat 8bitovými daty.

Vzhledem k tomu, že jsou to "malé", uložil bych je do tabulky, ne do souboru. Uložil bych je však do samostatné tabulky a JOIN pomocí vhodného id když je potřebujete. To umožňuje, aby dotazy, které nepotřebují obrázek, běžely rychleji, protože nepřekračují objekty BLOB.

Technicky vzato, TEXT CHARACTER SET ascii COLLATE ascii_bin by to šlo, ale BLOB objasňuje, že ve sloupci skutečně není žádný použitelný text.



  1. Více o CXPACKET Waits:Skewed Parallelism

  2. ORA-04021:Při čekání na uzamčení objektu došlo k vypršení časového limitu

  3. Mac nainstalujte a otevřete mysql pomocí terminálu

  4. Proč MySQL nepoužívá optimální indexy