Ich versuche ein gutes Gleichgewicht zwischen Suchbarkeit und Geschwindigkeit zu finden. Ich experimentiere mit verschiedenen Methoden.
Option 1: Serialisieren Sie das Array als serialisiertes JSON / PHP-Array und speichern Sie es in einer 'Meta'-Spalte.
id | name | meta
1 Bob {"city":"GoTown","birthdate":"1980\/8\/14","cat":"Felix"}
2 Alice {"city":"Streamville","birthdate":"1986\/6\/6","dog":"Rex"}
Option 2: Speichern Sie Schlüssel und Werte zusammen in einem Stapel.
user_id | key | value
1 name Bob
1 city GoTown
1 birthdate 1980/8/14
1 cat Felix
2 name Alice
2 city Streamville
2 birthdate 1986/6/6
2 dog Rex
Option 3: 3 Tabellen: Entites, Schlüssel, Werte. Speichern Sie jeden Schlüsselnamen nur einmal.
user_id | name
1 Bob
2 Alice
key_id | keyname
1 city
2 birthdate
3 cat
4 dog
user_id | key_id | value
1 1 GoTown
1 2 1980/8/14
1 3 Felix
2 1 Streamville
2 2 1986/6/6
2 4 Rex
Gibt es Fallstricke bei der Verwendung einer dieser Strategien? Ich möchte einige von ihnen beseitigen, wenn sie unüberwindbare Nachteile haben.
BEARBEITEN: Einige Daten wurden hinzugefügt, um schemalose Daten darzustellen