sql >> Databasteknik >  >> RDS >> Mysql

Bästa sättet att lagra ett base64-kodat värde i MySQL DB?

Sorteringen gör bara skillnad om du behöver ORDER BY eller sök i kolumnen. Dessa base64-kodade objekt kommer förmodligen inte att sökas eller sorteras.

Om dina kodade objekt garanterat är mindre än 64K byte långa, definiera din kolumn så här:

   `columnname` TEXT CHARACTER SET ascii,

Detta är precis vad som behövs för en base64-kodad variabel; kodningsprocessen förvandlar allt till visningsbar ASCII.

Om objekten är mindre än 16 megabyte långa, men vissa kommer att vara längre än 64k, använd MEDIUMTEXT istället för TEXT .

Redigera år senare.

Den OQ-kodade strängen, avkodad, är ett serialiserat php-objekt:

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

Observation 1:mycket av det här lagras i textkolumner utan att koda det, med hjälp av teckenuppsättningen utf8 eller utf8mb4. Massor? Ja. WordPress lagrar alternativdata på detta sätt.

Observation 2:Om det kan översättas till JSON kan du använda JSON-datatypen i de senaste versionerna av MySQL. JSON-sökningar är fortfarande inte sargbara, men de är strukturerade.




  1. När ska databasindex byggas om?

  2. Vad är en bra databasdesign (schema) för en närvarodatabas?

  3. Mysql innoDB kraschar hela tiden

  4. Hur man stoppar/startar MySQL med MySQL Workbench