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

Mere effektivt at have flere kolonner eller flere rækker?

Grundlæggende har mysql en variabel rækkelængde, så længe man ikke ændrer på et per tabel-niveau. Således vil tomme kolonner ikke bruge nogen plads (nå, næsten).

Men med klatter eller tekstkolonner kan det være bedre at normalisere dem, da disse kan have store data at gemme, og dette skal læses/springes over hver gang en tabel scannes. Selvom kolonnen ikke er i resultatsættet, og du laver forespørgsler uden for et indeks, vil det tage sin tid på en stor mængde rækker.

Som en god praksis tror jeg, at det vil være hurtigt at lægge alle administrative og ofte brugte kolonner i én tabel og normalisere resten. En slags "lodret" design som i dit andet eksempel vil være kompleks at læse, og så snart du arbejder med midlertidige tabeller, vil du løbe ind i ydeevneproblemer før eller siden.



  1. Husk dette, når du formaterer en TIME-datatype i SQL Server (T-SQL)

  2. MySql:Vis kolonner, men ekskluder alt undtagen feltnavnene

  3. Studerer MySQL, SQLite-kildekode for at lære om RDBMS-implementering

  4. Problem med heredoc og PHP