sql >> Databasteknik >  >> RDS >> Sqlserver

DB-design och datahämtning från ett tungt bord

Håll dig inte till din nuvarande design. Dina återkommande grupper är obehagliga och självbegränsande... Vad händer när någon laddar upp 151 gånger? Normalisera den här tabellen så att du har en av varje typ per rad istället för 150. Du behöver inte mappning på detta sätt eftersom du kan välja SAPDATA från positionskolonnen utan att oroa dig om det är 1-150.

Du vill förmodligen ha en PROJECTS-tabell med ett ID, en PROJECT_UPLOADS-tabell med ett ID och en FK till PROJECTS-tabellen. Den här tabellen skulle ha Position, SourceDate, Formula och IsActive givet ditt användningsfall ovan.

Då kan du göra saker som

välj p.name, pu.position från PROJECTS p inre join PROJECT_UPLOADS pu på pu.projectid =p.id WHERE pu.position ='SAPDATA'

etc.




  1. Finns det en prestandaskillnad mellan CTE , Sub-Query, Temporary tabell eller Tabellvariabel?

  2. Få datum för att skapa databasen på PostgreSQL

  3. MySQL multiple table join-fråga prestandaproblem

  4. MySQL-förklaring för DELETE-frågor