JSON direkt in MySQL: Flexibilität trifft Datenbank
MySQL hat Superkräfte mit JSON! Statt mühsame Normalisierung brauchst du nur:
-- Speichern
INSERT INTO users (profile) VALUES ('{"name":"John","age":30}');
-- Abfragen
SELECT profile->>'$.name' AS name FROM users;
-- Suchen
SELECT JSON_SEARCH(profile, 'one', 'John') FROM users;
-- Aktualisieren
UPDATE users SET profile = JSON_SET(profile, '$.age', 31) WHERE id = 1;
Vorteile: Kein Schema-Overhead, direkter Zugriff auf verschachtelte Daten, perfekt für halbstrukturierte Daten.
Tipp: Indexiere JSON-Pfade mit GENERATED COLUMNS für bessere Performance!
Hinweis zu MariaDB
⚠️ Achtung: Die moderne JSON-Syntax (-> und ->>) funktioniert in MariaDB noch nicht. Verwende stattdessen JSON_VALUE() für einen ähnlichen Effekt:
-- MariaDB: statt ->>
SELECT JSON_VALUE(profile, '$.name') AS name FROM users;
JSON_VALUE() ist zukunftssicher und wird auch in neueren MySQL-Versionen unterstützt.