Die Sortierung macht nur einen Unterschied, wenn Sie ORDER BY
benötigen oder durchsuchen Sie die Spalte. Diese base64-codierten Elemente werden wahrscheinlich nicht durchsucht oder sortiert.
Wenn Ihre codierten Elemente garantiert weniger als 64 KB lang sind, definieren Sie Ihre Spalte wie folgt:
`columnname` TEXT CHARACTER SET ascii,
Dies ist genau das, was für eine Base64-codierte Variable benötigt wird; der Kodierungsprozess verwandelt alles in anzeigbares ASCII.
Wenn die Elemente weniger als 16 Megabyte lang sind, einige jedoch länger als 64 KB sind, verwenden Sie MEDIUMTEXT
statt TEXT
.
Bearbeiten Jahre später.
Der OQ-codierte String, decodiert, ist ein serialisiertes PHP-Objekt:
a:2:{s:20:"Type_of_organisation";s:20:"Member of Parliament";s:8:"Postcode";s:7:"PE1 1JA";}
Beobachtung 1:Vieles davon wird in Textspalten gespeichert, ohne es zu codieren, wobei der Zeichensatz utf8 oder utf8mb4 verwendet wird. Viele? Ja. WordPress speichert Optionsdaten auf diese Weise.
Beobachtung 2:Wenn es in JSON übersetzt werden kann, könnten Sie den JSON-Datentyp in neueren Versionen von MySQL verwenden. JSON-Suchen sind immer noch nicht sargable, aber sie sind strukturiert.