Tot nu toe wilde ik die door komma's gescheiden lijsten in mijn SQL-database bewaren - goed op de hoogte van alle waarschuwingen!
Ik bleef maar denken dat ze voordelen hebben ten opzichte van opzoektabellen (die een manier bieden om een genormaliseerde database te maken). Na een paar dagen weigeren, Ik heb het licht gezien :
- Het gebruik van opzoektabellen veroorzaakt NIET meer code dan die lelijke tekenreeksbewerkingen bij het gebruik van door komma's gescheiden waarden in één veld.
- De opzoektabel staat native getalnotaties toe en is dus NIET groter dan die csv-velden. Het is echter KLEINER.
- De betrokken stringbewerkingen zijn klein in taalcode op hoog niveau (SQL en PHP), maar duur in vergelijking met het gebruik van arrays van gehele getallen.
- Databases zijn niet bedoeld om door mensen leesbaar te zijn, en het is meestal dom om te proberen vast te houden aan structuren vanwege hun leesbaarheid / directe bewerkbaarheid, zoals ik deed.
Kortom, er is een reden waarom er geen native SPLIT()-functie in MySQL is.