Visa ett inlägg
Oläst 2011-07-01, 15:28 #3
coredevs avatar
coredev coredev är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Sep 2007
Inlägg: 1 554
coredev coredev är inte uppkopplad
Bara ett inlägg till!
coredevs avatar
 
Reg.datum: Sep 2007
Inlägg: 1 554
Citat:
Ursprungligen postat av Althalos Visa inlägg
Ändamålet är en applikation där vardera användare har varsin aktieportfölj. Varje minut så uppdaterar jag min databas över aktiernas värde. I efterhand vill jag kunna visa hur aktier/portföljer har utvecklats i snygga grafer. Så jag tänker mig att jag sparar aktiernas värde varje gång.

Säg nu har jag har 100 olika aktier som jag följer, i så fall så får jag 6000 värden att lägga in i databasen varje timma. Efter ett par veckor blir antalet rader i mySQL-databasen helt enormt, om jag väljer att ge varje värde en egen rad. Alternativ jag har funderat på är att ha en rad per aktie och sedan spara alla historik om den aktien i en json/csv-sträng.
Vad du vill göra är att lägga historiken för aktierna i en egen tabell. I en annan tabell sparar du vilka aktier som finns. I en tredje tabell sparar du kopplingen mot användarna. Till sist joinar du ihop allt när du skall hämta upp statistiken för användaren.

tb_user - id, name, etc - innehåller användare, dvs en rad per användare
tb_stock - id, name, etc - innehåller en lista med alla tillgängliga aktier, dvs en rad per aktie
tb_stock_history - id, stock_id, price, setdate - innehåller aktiernas prisändringar, dvs en rad per prisändring per aktie
tb_user_stock, id, user_id, stock_id - innehåller kopplingen mellan användare och aktie, dvs en rad per aktie som en användare följer

Disclaimer: Med reservation för att jag läste din fråga slarvigt eller för att jag har missförstått något ;-)
coredev är inte uppkopplad   Svara med citatSvara med citat