sql >> Databasteknik >  >> RDS >> Mysql

Serialisera vs Implode

Om du inte vill (över?)normalisera dina tabeller och du egentligen bara vill lagra en lista med id så föreslår jag att du använder en enkel kommaseparerad lista, eftersom MySQL redan har några funktioner som direkt kan hantera komma- separerade strängvärden:

FIND_IN_SET :http://dev. mysql.com/doc/refman/5.0/en/string-functions.html#function_find-in-set

SELECT FIND_IN_SET('b','a,b,c,d'); --> 2

CONCAT_WS :http://dev.mysql. com/doc/refman/5.0/en/string-functions.html#function_concat-ws

SELECT CONCAT_WS(',','First name',NULL,'Last Name'); --> 'First name,Last Name'

Naturligtvis kommer du inte att kunna göra SQL JOINs, men det kan fortfarande vara till hjälp.



  1. MYSQL - Hur man sammanfogar två frågor för att utelämna element som finns i den andra frågan (eller kanske någon bättre lösning?)

  2. Skala PostgreSQL med Connection Poolers &Load Balancers

  3. Länka django- och mysql-behållare med docker-compose

  4. Databasschema för böcker, författare, förlag och användare med bokhyllor