Basically, I want to store transactions of each stock.
The structure of my Transaction table looks like the following:
Symol, TimeStamp, Price, Quantity
GOOG , 123456789, 0.5 , 10
GOOG , 123456788, 0.5 , 1000
IBM , 123457000, 1.5 , 100
IBM , 123457002, 1.5 , 500
...
The problem is I'm storing all transactions of more than 5000 stocks. A simple rough calculation shows that my table will grow to a huge number of rows.
Suppose that I'm storing all transactions for 5 years and there are on average 1000 transactions per stock per day. That would give me 9,125,000,000 rows(5000*5*365*1000). I'm afraid that when the time come to process this table(e.g with joins), I will seriously get a performance hit.
I'm planning to create a Transaction table for each stock(e.g GOOG_Transaction, IBM_Transaction).
Is this a good idea?