Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Najlepszy sposób na przechowywanie wartości zakodowanej base64 w bazie danych MySQL?

Porównanie ma znaczenie tylko wtedy, gdy musisz ORDER BY lub przeszukaj kolumnę. Te elementy zakodowane w base64 prawdopodobnie nie będą przeszukiwane ani sortowane.

Jeśli zakodowane elementy mają gwarantowaną długość mniejszą niż 64 KB, zdefiniuj swoją kolumnę w następujący sposób:

   `columnname` TEXT CHARACTER SET ascii,

Dokładnie to jest potrzebne dla zmiennej zakodowanej w base64; proces kodowania zamienia wszystko w możliwy do wyświetlenia ASCII.

Jeśli elementy będą miały mniej niż 16 megabajtów długości, ale niektóre będą dłuższe niż 64 KB, użyj MEDIUMTEXT zamiast TEXT .

Edytuj lata później.

Zakodowany ciąg OQ, zdekodowany, jest zserializowanym obiektem php:

a:2:{s:20:"Type_of_organisation";s:20:"Member of Parliament";s:8:"Postcode";s:7:"PE1 1JA";}

Obserwacja 1:wiele z tych rzeczy jest przechowywanych w kolumnach tekstowych bez kodowania, przy użyciu zestawu znaków utf8 lub utf8mb4. Wiele? TAk. WordPress przechowuje w ten sposób dane opcji.

Spostrzeżenie 2:Jeśli można go przetłumaczyć na JSON, możesz użyć typu danych JSON w najnowszych wersjach MySQL. Wyszukiwania JSON nadal nie są sargable, ale są ustrukturyzowane.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak korzystać z przygotowanych zestawień w CodeIgniter?

  2. Laravel 5.1 — Sprawdzanie połączenia z bazą danych

  3. Zapytanie o sprawdzenie drugiej soboty każdego miesiąca w roku

  4. Dlaczego mysqli fetch() zwraca puste wyniki z kolumny z długim tekstem?

  5. Konwersja daty MySQL