sql >> Database teknologi >  >> RDS >> Mysql

Serialisering vs Implode

Hvis du ikke ønsker at (over?)normalisere dine tabeller, og du egentlig bare vil gemme en liste over id'er, så foreslår jeg, at du bruger en simpel kommasepareret liste, fordi MySQL allerede har nogle funktioner, som direkte kan håndtere komma- adskilte strengværdier:

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'

Selvfølgelig vil du ikke være i stand til at lave SQL JOINs, men det kan stadig være nyttigt.



  1. Store objekter må ikke bruges i auto-commit-tilstand

  2. Hvordan opretter og bruger man en midlertidig tabel i oracle-lagret procedure?

  3. Sådan importeres og eksporteres en database via SSH

  4. Sådan ændres en kolonnes datatype i SQL Server (T-SQL)