sql >> Database >  >> RDS >> Mysql

De beste manier om een ​​base64-gecodeerde waarde op te slaan in MySQL DB?

De sortering maakt alleen een verschil als u ORDER BY . moet of zoek in de kolom. Deze met base64 gecodeerde items zullen waarschijnlijk niet worden doorzocht of gesorteerd.

Als uw gecodeerde items gegarandeerd minder dan 64K bytes lang zijn, definieert u uw kolom als volgt:

   `columnname` TEXT CHARACTER SET ascii,

Dit is precies wat nodig is voor een base64-gecodeerde variabele; het coderingsproces verandert alles in ASCII die kan worden weergegeven.

Als de items minder dan 16 megabyte lang zullen zijn, maar sommige langer dan 64k, gebruik dan MEDIUMTEXT in plaats van TEXT .

Bewerken jaar later.

De OQ-gecodeerde string, gedecodeerd, is een geserialiseerd php-object:

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

Observatie 1:veel van deze dingen worden opgeslagen in tekstkolommen zonder het te coderen, met behulp van de utf8- of utf8mb4-tekenset. Veel? Ja. WordPress slaat optiegegevens op deze manier op.

Observatie 2:Als het kan worden vertaald naar JSON, zou je het JSON-gegevenstype kunnen gebruiken in recente versies van MySQL. JSON-zoekopdrachten zijn nog steeds niet sargable, maar ze zijn gestructureerd.




  1. Hoe open ik een DB-verbinding in Openshift?

  2. Hoe worden datums opgeslagen in Oracle?

  3. PHP asynchrone mysql-query

  4. mysqlfailover:geen module met de naam mysql.utilities.common.tools